React Native从0.59升级至0.66后Android端应用安装失败如何解决
React Native 0.59升级至0.66 Android安装失败排查方案
核心适配点校验
- AndroidX强制适配:RN 0.60及以上版本不再支持安卓support库,必须开启AndroidX转换,在
android/gradle.properties文件中添加以下2行配置:android.useAndroidX=true android.enableJetifier=true - 编译参数适配:RN 0.66要求最低编译版本为31,需修改
android/build.gradle中对应参数:- compileSdkVersion = 31
- buildToolsVersion = "31.0.0"
- minSdkVersion ≥ 21
同时检查android/gradle/wrapper/gradle-wrapper.properties中的gradle版本需升级至7.0.2及以上,对应gradle插件版本为7.0+。
- 依赖版本适配:项目中原有的适配RN 0.59的第三方原生库多数不兼容0.66版本,需将所有带原生能力的RN依赖升级到适配RN 0.66的对应版本,重点关注动画、导航、存储类原生库。
- 自动链接适配:RN 0.60之后引入自动链接机制,需删除
android/settings.gradle、android/app/build.gradle中所有手动添加的第三方RN依赖配置,由自动链接机制处理依赖导入。
按顺序执行清理构建流程
- 执行
yarn cache clean清空本地yarn缓存 - 删除根目录的
node_modules文件夹、yarn.lock文件 - 执行
yarn install重新安装全量依赖 - 进入android目录执行
./gradlew cleanBuildCache清空全量构建缓存 - 卸载测试设备上已安装的同包名应用,避免签名、版本残留冲突
- 回到项目根目录执行
yarn run android重新构建运行
残留问题修复
- 若出现资源冲突报错,检查
android/app/src/main/res目录下的资源文件,删除重复资源,修正不符合Android命名规范的资源文件名 - 若出现类重复报错,在
android/app/build.gradle的dependencies块中,给冲突依赖添加exclude规则,排除重复导入的androidx相关包
内容的提问来源于stack exchange,提问作者Izlia
相关产品推荐
相关产品推荐

