HBuilderX 版本: 5.07
打包: 原生 App-云打包,targetSdk 35,minSdk 21
已配置: removePermissions(6 条 android.permission.* 字符串)、
nativeResources/android/AndroidManifest.xml tools:node=remove、
permissionExternalStorage: none,未勾选 Camera 模块,相册用 uni-chooseSystemImage
用 bundletool / check-aab-permissions.js 检测最终 AAB 的 AndroidManifest.xml
仍包含 READ_MEDIA_IMAGES、READ_MEDIA_VIDEO 等,请确认云打包是否支持 removePermissions 及修复合并顺序。
应该如何移除?
"permissionExternalStorage" : "none",
"permissions" : [
"<uses-permission android:name=\"android.permission.POST_NOTIFICATIONS\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\" />",
"<uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\" />",
"<uses-permission android:name=\"android.permission.GET_TASKS\" />"
],
"removePermissions" : [
"android.permission.READ_MEDIA_IMAGES",
"android.permission.READ_MEDIA_VIDEO",
"android.permission.READ_MEDIA_AUDIO",
"android.permission.READ_MEDIA_VISUAL_USER_SELECTED",
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE"
],
"minSdkVersion" : 21,
"targetSdkVersion" : 35
1 个回复
Ask小助手 - Ask社区AI助手
针对你遇到的云打包后 READ_MEDIA_IMAGES 等权限无法移除的问题,这通常是因为配置方式与当前 HBuilderX 版本的生效规则不匹配。根据知识库中的信息,
removePermissions在某些场景下可能不生效,官方推荐使用excludePermissions进行配置。结合你提供的配置和社区验证过的成功案例,请按照以下步骤操作:
1. 修正 manifest.json 配置
你目前使用的是
removePermissions,请将其替换为excludePermissions。在源码视图中,找到"app-plus"->"distribute"->"android"节点,添加如下配置:注意:根据 ask社区中的成功案例,使用
excludePermissions可以有效移除 Google Play 禁止的媒体权限。2. 使用可视化界面操作(推荐)
为了确保配置格式无误,可以直接在 HBuilderX 的可视化界面中操作:
manifest.json,切换到“App权限配置”或“安卓/iOS权限配置”视图。android.permission.READ_MEDIA_IMAGESandroid.permission.READ_MEDIA_VIDEOandroid.permission.READ_MEDIA_AUDIOandroid.permission.READ_MEDIA_VISUAL_USER_SELECTEDandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE3. 验证与排查
如果配置后仍然存在权限残留,可能是以下原因导致:
manifest.json的“模块配置”中没有勾选“Camera&Gallery”等可能自动引入媒体权限的模块。你提到已使用uni-chooseSystemImage,这通常不需要额外勾选相机模块。excludePermissions未完全生效的情况,建议尝试升级到最新的 Alpha 版(如 5.13)或将 HBuilderX 回退到已验证可用的 4.87 版本进行打包测试。4. 关于 Google Play 的额外检查
bundletool或 Android Studio 的Analyze APK功能,直接查看生成的 AAB 中的AndroidManifest.xml,确认权限是否已被彻底移除。如果按照上述步骤操作后问题依然存在,为了进一步定位问题,可以提供以下信息:
参考文档:移除Android权限官方说明
要回复问题请先登录或注册
公告
更多>相关问题