React Native Expo构建安卓APK后相机、相册、地图失效 开发测试正常
修复方案
1. 补充缺失的安卓权限配置
你当前app.json中安卓权限列表仅声明了相机、位置、录音权限,缺少相册访问、媒体读取的必需权限,安卓13及以上系统还需要额外适配专属媒体权限。
修改app.json中expo.android.permissions数组,补充以下权限:
"permissions": [ "ACCESS_BACKGROUND_LOCATION", "ACCESS_FOREGROUND_LOCATION", "RECORD_AUDIO", "ACCESS_COARSE_LOCATION", "ACCESS_FINE_LOCATION", "CAMERA", "READ_EXTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE", "ACCESS_MEDIA_LOCATION", "READ_MEDIA_IMAGES", "READ_MEDIA_VIDEO" ]
2. 补全地图模块配置
独立构建时地图组件无法加载的核心原因是缺少Google Maps安卓API密钥配置,Expo Go内置了测试密钥可以直接运行,但生产构建需要你自行申请密钥并添加到配置中:
在expo.android节点下新增config配置:
"android": { // 保留原有package、versionCode、permissions等配置不变 "config": { "googleMaps": { "apiKey": "你在Google Cloud平台申请的安卓端Maps SDK密钥" } }, "adaptiveIcon": { // 原有图标配置不变 } }
3. 清除缓存重新构建
配置修改完成后,执行以下命令清除旧构建缓存,重新生成安装包即可:expo build:android --clear-cache
内容的提问来源于stack exchange,提问作者MOSES NOKNAN JOHN
相关产品推荐
相关产品推荐

