uni-app 将targetSdkVersion指定为29时 互动游戏无法正常打开
uni-app 将targetSdkVersion指定为29时 互动游戏无法正常打开
2 回复
Bug已确认
更多关于uni-app 将targetSdkVersion指定为29时 互动游戏无法正常打开的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 uni-app 中将 targetSdkVersion 设置为 29 后,互动游戏无法正常打开,这通常与 Android 10(API 29)引入的存储权限策略(Scoped Storage)有关。从 Android 10 开始,应用默认被限制在沙盒内访问外部存储,除非声明 requestLegacyExternalStorage=true 或适配分区存储。
可能原因及解决方案:
-
未适配分区存储
Android 10+ 默认启用分区存储,若游戏依赖外部存储路径(如读取本地文件),可能导致文件访问失败。
解决:在manifest.json的app-plus->distribute->android中添加以下配置:"android": { "targetSdkVersion": 29, "useLegacyExternalStorage": true }此配置允许临时沿用旧版存储模式(但注意 Android 11+ 可能限制此配置)。
-
权限声明不足
targetSdkVersion=29需要显式声明存储权限,并动态申请。
检查步骤:- 在
manifest.json中确认已添加权限:"permissions": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE" ]
- 在

