uni-app googleplay 离线打包 在targetSdkVersion30 卡在启动页

uni-app googleplay 离线打包 在targetSdkVersion30 卡在启动页

7 回复

请教下,解决了吗?什么原因导致的?

更多关于uni-app googleplay 离线打包 在targetSdkVersion30 卡在启动页的实战教程也可以访问 https://www.itying.com/category-93-b0.html


解决了

请按以下配置修改:

1、原生项目主app的AndroidManifest.xml中。application节点配置android:extractNativeLibs=“true”。

2、原生项目根目录 gradle.properties 配置android.bundle.enableUncompressedNativeLibs=false

重新编译打包

问题分析:

在 Android 11(API 30)及以上版本中,系统对应用的文件访问权限(Scoped Storage)和启动行为有更严格的限制。targetSdkVersion 设置为 30 时,若应用未适配新规范,可能导致启动时权限或资源加载异常,从而卡在启动页。

可能原因及解决方案:

  1. Scoped Storage 适配问题

    • 原因:Android 11 强制启用分区存储,若应用未适配,可能导致文件读写失败(如读取本地图片、配置文件等)。
    • 解决
      • AndroidManifest.xml 中临时添加 android:requestLegacyExternalStorage="true"(仅对 Android 10 有效,Android 11 需适配分区存储)。
      • 若需兼容 Android 11+,需按 Google 分区存储指南 重构文件访问逻辑,使用 MediaStore 或应用专属目录。
  2. 启动 Activity 配置问题

    • 原因:Android 11 要求显式声明启动 Activity 的 android:exported 属性。
    • 解决:在 AndroidManifest.xml 中检查主 Activity 配置,例如:
      <activity
          android:name=".YourLaunchActivity"
          android:exported="true"> <!-- 必须明确声明 -->
      </activity>
回到顶部