uniapp打包的apk谷歌包如何在所有版本代码中移除read_media_images/read权限
“在uniapp打包的apk谷歌包时,如何彻底移除所有版本代码中的read_media_images和read权限?尝试过修改manifest文件但某些机型仍会自动添加这些权限,有没有完整的解决方案?”
2 回复
在uniapp项目的manifest.json中,找到App权限配置,删除android.permission.READ_EXTERNAL_STORAGE权限。然后重新打包即可。
在 UniApp 打包的 APK 中移除 READ_EXTERNAL_STORAGE(或 READ_MEDIA_IMAGES,适用于 Android 13+)权限,需按以下步骤操作:
1. 检查并修改 manifest.json 文件
在 UniApp 项目的 manifest.json 中,移除或注释与存储权限相关的配置:
{
"app-plus": {
"distribute": {
"android": {
"permissions": [
// 删除或注释以下行:
// "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
// "<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\"/>"
]
}
}
}
}
2. 检查原生插件依赖
某些 UniApp 插件(如文件选择、图片上传)可能自动添加存储权限。解决步骤:
- 在项目根目录检查
nativeplugins文件夹中的插件配置。 - 如插件非必需,直接移除;如必需,尝试寻找替代插件或联系插件开发者请求提供无权限版本。
3. 自定义原生配置(如需要)
若上述方法无效,通过原生工程配置:
- 生成 Android 原生工程(HBuilderX 中选择 “生成本地 App 资源”)。
- 打开
AndroidManifest.xml,手动删除以下权限代码:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> - 重新打包 APK。
4. 验证权限移除
打包后,使用 APK 分析工具(如 Android Studio 的 APK Analyzer)检查最终 AndroidManifest.xml,确认权限已移除。
注意事项:
- 功能影响:移除权限可能导致文件读写、图片选择等功能失效,需确保应用不依赖这些权限。
- 目标版本:
READ_MEDIA_IMAGES仅适用于 Android 13(API 33)及以上,低版本系统仍使用READ_EXTERNAL_STORAGE。
通过以上步骤,可彻底移除相关存储权限。如遇插件强制添加权限,需优先处理插件依赖问题。

