Android Studio构建React Native项目报Argument type mismatch错误怎么办
针对React Native Android构建"Cause: Argument type mismatch"错误的解决方案
这个错误属于Gradle构建阶段的类型校验错误,无额外报错信息是默认Gradle日志输出等级较低导致,你可以先执行以下命令拿到完整错误堆栈定位具体问题:./gradlew assembleDebug --stacktrace
常见问题排查步骤
- 核对Android Gradle Plugin(AGP)与Gradle版本的兼容关系
打开android/build.gradle查看com.android.tools.build:gradle的版本号,再打开android/gradle/wrapper/gradle-wrapper.properties查看distributionUrl对应的Gradle版本,两者必须符合官方兼容规则,常见兼容组合:- AGP 7.0.x 匹配 Gradle 7.0+
- AGP 7.4.x 匹配 Gradle 7.5+
- AGP 8.0.x 匹配 Gradle 8.0+
- AGP 8.1.x 匹配 Gradle 8.0+
版本不匹配时调整到对应兼容版本后重新同步Gradle即可。
- 排查Gradle配置文件的类型赋值错误
检查所有.gradle配置文件中是否存在类型不匹配的赋值,比如给布尔配置项传入字符串值:
重点核对近期修改的配置项、第三方插件的入参是否符合类型要求。错误示例:
android { buildTypes { release { minifyEnabled "true" // 应传入布尔值true,而非字符串"true" } } } - 清理全量缓存重试
执行以下命令彻底清理所有构建缓存后重新构建:
若仍报错可删除全局Gradle缓存(默认路径cd android ./gradlew clean cd .. rm -rf node_modules npm install npm run android~/.gradle/caches)后重试。 - 核对React Native版本与构建工具的兼容性
若为升级RN版本后出现的问题,需确认当前RN版本要求的AGP、Gradle、JDK版本是否满足要求:RN 0.72+要求JDK 11及以上,RN 0.73+要求AGP 7.4.x及以上,版本不兼容会触发无明确提示的类型错误。
内容的提问来源于stack exchange,提问作者Kamil Cessak
相关产品推荐
相关产品推荐

