uni-app 应用不满足TargetSdkVersion30

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app 应用不满足TargetSdkVersion30

操作步骤:

1

预期结果:

1

实际结果:

1

bug描述:

经过检测,您的应用《出粽监督》,包名:cn.norlong.supervise,还未完成 targetSdkVersion30的升级,请您关注适配截止时间,尽快开展适配工作,避免影响应用正常发布和经营。

信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 win11
HBuilderX类型 正式
HBuilderX版本 3.8.12
手机系统 Android
手机系统版本 Android 14
手机厂商 小米
手机机型 红米note12
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

2 回复

manifest.json->App常用其他配置-> 配置 targetSdkVersion >= 30,然后自定义基座跑一下有没有什么问题


在开发 uni-app 应用时,如果遇到应用不满足 TargetSdkVersion 30 的问题,通常是因为 Google Play 商店要求从 2021 年 8 月起,所有新应用和更新的应用必须将 TargetSdkVersion 设置为 30 或更高版本。如果你的应用不满足这个要求,可能会导致应用无法上架或更新。

以下是一些解决这个问题的步骤:

1. 更新 manifest.json 文件

在 uni-app 项目中,manifest.json 文件用于配置应用的 Android 和 iOS 相关设置。你需要确保 targetSdkVersion 设置为 30 或更高版本。

{
  "app-plus": {
    "android": {
      "targetSdkVersion": 30
    }
  }
}

2. 更新 build.gradle 文件

如果你需要更细粒度的控制,或者 manifest.json 的配置没有生效,你可以直接修改 build.gradle 文件。

platforms/android/app/build.gradle 文件中,找到 defaultConfig 部分,并确保 targetSdkVersion 设置为 30 或更高版本。

android {
    defaultConfig {
        targetSdkVersion 30
    }
}

3. 处理权限问题

从 Android 11(API 30)开始,某些权限的行为发生了变化。例如,访问外部存储的权限需要特别处理。你可能需要更新你的代码以适应这些变化。

4. 测试应用

在更新 targetSdkVersion 后,务必对应用进行全面的测试,确保所有功能在 Android 11 及更高版本上都能正常工作。

5. 重新打包并发布

完成上述步骤后,重新打包你的应用,并提交到 Google Play 商店。

6. 使用 HBuilderX 的最新版本

确保你使用的是最新版本的 HBuilderX,因为新版本通常会包含对最新 Android SDK 的支持和优化。

7. 检查插件兼容性

如果你使用了第三方插件,确保这些插件也支持 targetSdkVersion 30。如果插件不兼容,可能需要寻找替代方案或联系插件开发者进行更新。

8. 参考官方文档

uni-app 和 Android 官方文档提供了详细的指南和最佳实践,建议仔细阅读并遵循这些文档。

9. 处理兼容性问题

如果应用在 targetSdkVersion 30 下出现兼容性问题,可能需要根据 Android 11 的新特性进行调整,例如:

  • Scoped Storage: Android 11 引入了 Scoped Storage,限制了应用对外部存储的访问。你可能需要更新文件访问逻辑。
  • 权限管理: Android 11 对权限管理进行了调整,特别是后台位置访问权限。确保你的应用正确处理这些权限。

10. 使用 android:requestLegacyExternalStorage 标志

如果你的应用在 Android 11 上需要访问外部存储,可以在 AndroidManifest.xml 中添加以下标志:

<application
    android:requestLegacyExternalStorage="true"
    ... >
    ...
</application>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!