android sdk版本兼容,Android 版本兼容

常用命令

查看一个手机的cpu架构

adb shell cat /proc/cpuinfo

查看手机的SDK版本

adb shell getprop ro.build.version.release

RequiresApi

需要注意的是,该注解仅仅在编辑阶段才有用,如

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

private void func() {

}

private void call_func1() {

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

func();

}

}

private void call_func2() {

func();

}

编译阶段

当minSdkVersion比RequiresApi设置的LOLLIPOP低时,这个时候是可以编译通过,只是Android Studio会红色显示call_func2里的func(),提示添加Build.VERSION判断。

运行阶段

当运行的手机的SDK版本比RequiresApi设置的LOLLIPOP低时。

当调用到call_func2时,func()函数还是会执行,并不因为加了RequiresApi就不执行。

这个和Spring里的注解区别还挺大的,Spring中的类似注解,当判断不符合某种条件时,注解是不会真正调用标记的函数的。

对应表

Codename Version API level/NDK release

Android11 11 API level 30

Android10 10 API level 29

Pie 9 API level 28

Oreo 8.1.0 API level 27

Oreo 8.0.0 API level 26

Nougat 7.1 API level 25

Nougat 7.0 API level 24

Marshmallow 6.0 API level 23

Lollipop 5.1 API level 22

Lollipop 5.0 API level 21

KitKat 4.4 - 4.4.4 API level 19

Jelly Bean 4.3.x API level 18

Jelly Bean 4.2.x API level 17

Jelly Bean 4.1.x API level 16

Ice Cream Sandwich 4.0.3 - 4.0.4 API level 15, NDK 8

Ice Cream Sandwich 4.0.1 - 4.0.2 API level 14, NDK 7

Honeycomb 3.2.x API level 13

Honeycomb 3.1 API level 12, NDK 6

Honeycomb 3.0 API level 11

Gingerbread 2.3.3 - 2.3.7 API level 10

Gingerbread 2.3 - 2.3.2 API level 9, NDK 5

Froyo 2.2.x API level 8, NDK 4

Eclair 2.1 API level 7, NDK 3

Eclair 2.0.1 API level 6

Eclair 2.0 API level 5

Donut 1.6 API level 4, NDK 2

Cupcake 1.5 API level 3, NDK 1

(no codename) 1.1 API level 2

(no codename) 1.0 API level 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值