uniapp 的 targetsdkversion 如何更新
在uniapp开发中,如何更新Android平台的targetSdkVersion?我在manifest.json里修改了版本号,但打包后查看APK信息发现并没有生效。请问正确的配置步骤是什么?是否需要同步修改其他相关配置?
2 回复
在项目的 manifest.json 文件中,找到 app-plus 节点下的 distribute 配置,修改 android 下的 targetSdkVersion 值即可。记得同步更新对应依赖和适配新版本特性。
在 UniApp 中更新 targetSdkVersion 主要是为了适配 Android 系统的新特性或满足应用市场(如 Google Play)的要求。以下是更新步骤和注意事项:
更新步骤:
-
打开项目配置文件:
在 UniApp 项目的根目录中找到并打开manifest.json文件。 -
配置 Android 设置:
在"app-plus"→"distribute"→"android"下添加或修改"targetSdkVersion"字段。例如,设置为 33(对应 Android 13):{ "app-plus": { "distribute": { "android": { "targetSdkVersion": 33 }, // 其他配置... } } } -
重新生成应用:
修改后,通过 HBuilderX 重新打包生成 APK 或提交云端打包。
注意事项:
- 权限适配:
高版本targetSdkVersion(如 30+)可能需处理权限变更(例如 Android 13 的细化媒体权限)。在代码中动态申请权限,参考 UniApp 的uni.authorize方法。 - 兼容性测试:
更新后务必在真机上测试所有功能,确保无兼容性问题。 - 最低版本限制:
targetSdkVersion通常需高于minSdkVersion(在manifest.json中配置)。
示例代码(权限申请):
若适配 Android 13 的媒体权限,可在页面中调用:
uni.authorize({
scope: 'scope.mediaLocation',
success: () => {
console.log('授权成功');
},
fail: (err) => {
console.log('授权失败:', err);
}
});
通过以上步骤即可安全更新 targetSdkVersion。如有问题,参考 DCloud 官方文档。

