React Native Android编译报错:com.airbnb.android.react.maps不存在
解决方案
1. 降级Gradle和Android Gradle Plugin适配RN 0.68
RN 0.68官方不兼容Gradle 8.x和AGP 8.x版本,版本 mismatch 会导致依赖解析、构建配置异常:
- 修改
android/gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
- 修改
android/build.gradle中的AGP版本:
classpath("com.android.tools.build:gradle:7.0.4")
2. 确保react-native-maps正确链接
检查自动链接配置
RN 0.60+支持自动链接,确认android/settings.gradle中已添加以下内容(未自动生成则手动补全):
include ':react-native-maps' project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/android')
验证app/build.gradle依赖
确保android/app/build.gradle的dependencies块包含:
implementation project(':react-native-maps')
检查MainApplication配置
确认MainApplication.java的导入和包注册无误:
import com.airbnb.android.react.maps.MapsPackage; // 确保该行存在 @Override protected List<ReactPackage> getPackages() { List<ReactPackage> packages = new PackageList(this).getPackages(); packages.add(new MapsPackage()); // 自动链接未生成则手动添加 return packages; }
3. 修复BuildConfig找不到的问题
AGP 7.0+默认关闭BuildConfig生成,需在android/app/build.gradle中手动开启:
android { // 其他配置... buildFeatures { buildConfig true } }
4. 清理缓存并重新构建
执行以下命令彻底清理缓存后重新编译:
# 清除前端依赖缓存 rm -rf node_modules package-lock.json yarn.lock npm install # 或 yarn install # 清除Android构建缓存 cd android ./gradlew clean cd .. # 重新运行项目 react-native run-android
内容的提问来源于stack exchange,提问作者Mradul Karmodiya
相关产品推荐
相关产品推荐

