You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用React Native构建Android APK报错,请求技术支持

解决React Native构建Android APK时的AAPT资源找不到错误

嘿,这个问题我之前踩过坑!你遇到的是Android SDK版本与appcompat-v7库版本不匹配导致的资源检索失败,具体来说appcompat-v7-26.1.0依赖的一些Material风格资源需要更高版本的Android SDK支持,而你的项目配置没跟上。下面是一步步的解决办法:

1. 同步Module级别build.gradle的SDK版本

打开你项目里android/app/build.gradle文件,确保compileSdkVersion和targetSdkVersion至少设置为26(和appcompat-v7的版本号对应):

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.3" // 选择与compileSdkVersion匹配的buildTools版本

    defaultConfig {
        targetSdkVersion 26
        // 其他项目配置(比如applicationId、minSdkVersion等)保持不变
    }
}

2. 强制统一Support库版本(避免依赖冲突)

有时候项目里其他第三方库可能引入了不同版本的Android Support库,导致版本混乱。可以在项目根目录的build.gradle里添加强制统一版本的配置:

allprojects {
    repositories {
        // 你的仓库配置(比如google()、jcenter()等)
    }
    configurations.all {
        resolutionStrategy {
            // 强制所有依赖使用指定版本的appcompat-v7
            force 'com.android.support:appcompat-v7:26.1.0'
            // 如果项目里还有其他Support库(比如design、recyclerview等),也一起添加强制配置
            // force 'com.android.support:design:26.1.0'
        }
    }
}

3. 清理缓存并重新构建

做完上面的配置后,先清理Gradle缓存,避免旧缓存干扰:

  • Windows系统:在项目根目录打开命令行,执行 gradlew clean
  • macOS/Linux系统:执行 ./gradlew clean

然后重新运行构建命令,比如打包APK的话执行:

react-native run-android --variant=release
# 或者直接用Gradle命令
gradlew assembleRelease

为什么会出现这个错误?

appcompat-v7-26.1.0中用到的android:TextAppearance.Material.Widget.Button.Borderless.Colored是Android API 24及以上才引入的系统资源,如果你的项目compileSdkVersion低于24,Gradle在编译时就找不到这个资源,从而抛出AAPT错误。

内容的提问来源于stack exchange,提问作者Chris Downey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:59:55