uniapp 的 targetsdkversion 如何更新

在uniapp开发中,如何更新Android平台的targetSdkVersion?我在manifest.json里修改了版本号,但打包后查看APK信息发现并没有生效。请问正确的配置步骤是什么?是否需要同步修改其他相关配置?

2 回复

在项目的 manifest.json 文件中,找到 app-plus 节点下的 distribute 配置,修改 android 下的 targetSdkVersion 值即可。记得同步更新对应依赖和适配新版本特性。


在 UniApp 中更新 targetSdkVersion 主要是为了适配 Android 系统的新特性或满足应用市场(如 Google Play)的要求。以下是更新步骤和注意事项:

更新步骤:

  1. 打开项目配置文件
    在 UniApp 项目的根目录中找到并打开 manifest.json 文件。

  2. 配置 Android 设置
    "app-plus""distribute""android" 下添加或修改 "targetSdkVersion" 字段。例如,设置为 33(对应 Android 13):

    {
      "app-plus": {
        "distribute": {
          "android": {
            "targetSdkVersion": 33
          },
          // 其他配置...
        }
      }
    }
    
  3. 重新生成应用
    修改后,通过 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 官方文档

回到顶部