uni-app 升级离线打包targetSdkVersion到31后,打aab包上传google play平台,在android手机安装启动提示应用数据读取失败,未找到应用

uni-app 升级离线打包targetSdkVersion到31后,打aab包上传google play平台,在android手机安装启动提示应用数据读取失败,未找到应用

示例代码:

操作步骤:

升级离线打包targetSdkVersion到31,在android 12手机安装启动提示应用数据读取失败,未找到应用,直接打apk包或者aab包都不行

预期结果:

可以正常启动

实际结果:

在Android12手机安装后启动提示应用数据读取失败,未找到应用

bug描述:

升级离线打包targetSdkVersion到31,在android手机启动未找到应用,targetSdkVersion到30可以正常启动。


| 信息类型           | 内容           |
|-------------------|---------------|
| 产品分类           | uniapp/App    |
| PC开发环境操作系统 | Windows       |
| PC开发环境操作系统版本号 | 12            |
| HBuilderX类型      | 正式          |
| HBuilderX版本号   | 3.6.4         |
| 手机系统           | Android       |
| 手机系统版本号     | Android 12    |
| 手机厂商           | OPPO          |
| 手机机型           | PMCC          |
| 页面类型           | vue           |
| vue版本            | vue3          |
| 打包方式           | 离线          |
| 项目创建方式       | HBuilderX     |

更多关于uni-app 升级离线打包targetSdkVersion到31后,打aab包上传google play平台,在android手机安装启动提示应用数据读取失败,未找到应用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

此问题为开发者把PandoraEntry的exported设置为false,导致桌面无法打开app。

更多关于uni-app 升级离线打包targetSdkVersion到31后,打aab包上传google play平台,在android手机安装启动提示应用数据读取失败,未找到应用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


adb 安装apk看报错

如果是能安装上,但是启动闪退呢,怎么定位问题?

回复 wwwzzz: adb logcat

回复 DCloud_Android_THB: 可以把apk包发给你帮忙看看么,输入的日志看不懂

回复 wwwzzz: 可以的, 你上传附件。

回复 DCloud_Android_THB: 附件上传失败了,您有工作邮箱吗?我发你邮箱

回复 wwwzzz: 你留下qq 我加你

回复 DCloud_Android_THB: 私信给你了

这个问题通常是由于Android 12(API 31)引入的存储权限变更导致的。当targetSdkVersion升级到31后,应用需要处理新的存储访问限制。

主要原因是:

  1. Android 12对存储访问引入了更严格的限制
  2. 应用需要声明新的MANAGE_EXTERNAL_STORAGE权限才能访问所有文件
  3. 或者需要使用新的存储访问API(Storage Access Framework)

解决方案:

  1. 在AndroidManifest.xml中添加:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
  1. 确保正确处理了作用域存储:
<application
    android:requestLegacyExternalStorage="true"
    ...>
</application>
  1. 检查是否在代码中正确请求了存储权限:
// 检查并请求权限
uni.authorize({
    scope: 'scope.writePhotosAlbum',
    success() {
        console.log('授权成功');
    }
});
回到顶部