执行npx react-native run-android时AAPT2链接异常问题求助
解决React Native
run-android 中:app:processDebugResources 失败问题 你的问题核心是Gradle插件、Build Tools、Compile SDK版本不兼容,导致AAPT2守护进程在链接资源时出错。以下是具体解决步骤:
1. 版本匹配调整
你的Gradle插件版本(4.1.0)过于老旧,无法适配Compile SDK 34和Build Tools 33.0.0,需要同步升级相关版本:
- 修改
android/build.gradle中的Gradle插件版本:
将classpath("com.android.tools.build:gradle:4.1.0")替换为classpath("com.android.tools.build:gradle:7.4.2")(7.x版本适配Compile SDK 33+) - 同步Build Tools版本:将
buildToolsVersion = "33.0.0"改为buildToolsVersion = "34.0.0",和Compile SDK版本保持一致 - 升级NDK版本:将
ndkVersion = "20.1.5948944"改为ndkVersion = "25.1.8937393",适配新的Gradle插件 - 替换停止维护的jcenter:将所有
jcenter()替换为mavenCentral() - 升级google-services插件:将
classpath('com.google.gms:google-services:4.3.8')改为classpath('com.google.gms:google-services:4.3.15'),避免版本冲突
修改后的完整build.gradle示例:
buildscript { ext { buildToolsVersion = "34.0.0" minSdkVersion = 21 compileSdkVersion = 34 targetSdkVersion = 34 ndkVersion = "25.1.8937393" } repositories { google() mavenCentral() } dependencies { classpath("com.android.tools.build:gradle:7.4.2") classpath('com.google.gms:google-services:4.3.15') } } allprojects { repositories { mavenLocal() maven { url("$rootDir/../node_modules/react-native/android") } maven { url("$rootDir/../node_modules/jsc-android/dist") } google() mavenCentral() maven { url 'https://www.jitpack.io' } } }
2. 同步Gradle Wrapper版本
Gradle插件7.4.2需要对应Gradle 7.5版本,修改android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
3. 清理并重建项目
执行以下命令清除缓存并重新构建:
cd android ./gradlew clean cd .. npx react-native run-android
4. 排查资源文件错误
如果以上步骤无效,检查android/app/src/main/res目录下的资源文件(XML布局、Drawable、Values等),是否存在标签未闭合、资源名称非法(如包含大写字母或特殊字符)、重复资源ID等问题,这些也会触发AAPT2链接错误。
内容的提问来源于stack exchange,提问作者Lalit Patel
相关产品推荐
相关产品推荐

