前言
从2018年11月起,应用必须使用至少targetSdkVersion 26
进行编译,因为GooglePlay
以及国内大部分应用市场要求APP编译目标SDK
必须为26
及以上,否则不予提交审核。
本文介绍一下在YonBuilder移动开发
技术体系下,如果修改APP
在android
平台的targetSdkVersion
版本。
实现流程
修改manifest.xml
文件
目前新建的应用,在项目res文件夹下会自动生成manifest.xml
文件,如果你的项目是旧的项目,不存在该文件,则手动创建该文件即可。
下面的代码片段就是manifest.xml
文件内的代码内容,如果是新建的空白manifest.xml
文件,直接将下面内容复制粘贴即可。其中targetSdkVersion
后面的 value
值就是具体设置的targetSdkVersion版本号,开发者可以按自己的需求进行修改即可。
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<application name="targetSdkVersion" value="30"/>
</manifest>
修改并保存manifest.xml
文件后,需要提交代码到云端工作台,并重新编译新的版本,修改的配置才会生效。
注意事项:
Android
自系统6.0
开始,提供动态权限机制,对于敏感权限需要在APP
运行过程中动态向用户申请。Android6.0
对应的targetSdkVersion
版本号是23
,所以如果你之前的 targetSdkVersion
版本未设置过,或者原来的版本低于23
,则修改targetSdkVersion
版本号后,还需要同步修改你的项目代码。在涉及调用项目铭感权限的地方,需要加入动态权限判断和申请逻辑。否则你的应用上架会被拒绝。
PS: 具体的关于动态权限判断和申请逻辑,不是本文的重点,如果有需要的开发者伙伴,可以看我之前发布的另一篇文章YonBuilder移动开发(APICloud)应用动态权限功能开发教程进行参考, 本文不再重复。
附录:Android 版本与targetSdkVersion 的对应关系:
- Android 14 (Upside Down Cake) - targetSdkVersion 34
- Android 13 (Tiramisu) - targetSdkVersion 33
- Android 12L - targetSdkVersion 32(主要针对大屏幕设备如平板和折叠屏手机)
- Android 12 (S) - targetSdkVersion 31
- Android 11 ® - targetSdkVersion 30
- Android 10 (Q) - targetSdkVersion 29
- Android 9 (Pie) - targetSdkVersion 28
- Android 8.1 (Oreo MR1) - targetSdkVersion 27
- Android 8.0 (Oreo) - targetSdkVersion 26
- Android 7.1 (Nougat) - targetSdkVersion 25
- Android 7.0 (Nougat) - targetSdkVersion 24
- Android 6.0 (Marshmallow) - targetSdkVersion 23
- Android 5.1 (Lollipop) - targetSdkVersion 22
- Android 5.0 (Lollipop) - targetSdkVersion 21
- Android 4.4W (KITKAT Wear) - targetSdkVersion 20
- Android 4.4 (KITKAT) - targetSdkVersion 19
- Android 4.3 (JELLY_BEAN_MR2) - targetSdkVersion 18
- Android 4.2 / 4.2.2 (JELLY_BEAN_MR1) - targetSdkVersion 17
- Android 4.1 / 4.1.1 (JELLY_BEAN) - targetSdkVersion 16
- Android 4.0.3 / 4.0.4 ( ICE_CREAM_SANDWICH_MR1) - targetSdkVersion 15
- Android 4.0 / 4.01 / 4.02 ( ICE_CREAM_SANDWICH) - targetSdkVersion 14
- Android 3.2 (HONEYCOMB_MR2) - targetSdkVersion 13
- Android 3.1.X ( HONEYCOMB_MR1) - targetSdkVersion 12
- Android 3.0.X( HONEYCOMB) - targetSdkVersion 11
- Android 2.3.3 / 2.3.4 ( GINGERBREAD_MR1) - targetSdkVersion 10
- Android 2.3 ( GINGERBREAD) - targetSdkVersion 9
- Android 2.2 / 2.2.1 ( Froyo) - targetSdkVersion 8
- Android 2.1 ( Eclair_MR2) - targetSdkVersion 7
- Android 2.0.1 ( Eclair_MR1) - targetSdkVersion 6
- Android 2.0 ( Eclair) - targetSdkVersion 5
- Android 1.6 ( Donut) - targetSdkVersion 4
- Android 1.5 ( Cupcake) - targetSdkVersion 3
- Android 1.1 ( Petit Four) - targetSdkVersion 2
- Android 1.0 ( Astro / Bender) - targetSdkVersion 1