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

执行npm run android时遇Android资源链接失败:<queries>元素异常

解决React Native构建时<queries>标签导致的Android资源链接失败问题

问题原因

<queries>是Android API 30新增的包可见性配置标签,若你的Android构建工具链版本过低(Android Gradle Plugin <4.0.0、Build Tools <30.0.0),AAPT工具无法识别该标签,从而触发资源链接失败。

解决方案

1. 升级Android Gradle Plugin(AGP)

打开android/build.gradle文件,更新com.android.tools.build:gradle版本至4.0.0及以上:

buildscript {
    dependencies {
        classpath("com.android.tools.build:gradle:4.2.2") // 示例版本,可按需选择更高兼容版本
        // 其他依赖项...
    }
}

2. 对应升级Gradle版本

AGP与Gradle版本需匹配,AGP 4.0.0+对应Gradle 6.1.1+。打开android/gradle/wrapper/gradle-wrapper.properties,修改distributionUrl:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip

3. 升级Build Tools版本

打开android/app/build.gradle,将buildToolsVersion设置为30.0.0及以上:

android {
    buildToolsVersion "30.0.3"
    // 其他配置...
}

4. 确保compileSdkVersion不低于30

同样在android/app/build.gradle中:

android {
    compileSdkVersion 30
    // 其他配置...
}

临时 workaround(不推荐)

如果暂时无法升级构建工具,可在AndroidManifest.xml中用tools:node="remove"移除自动合并的<queries>标签,但这可能导致部分依赖包的功能异常:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!-- 移除自动生成的queries标签 -->
    <queries tools:node="remove" />

    <!-- 其他manifest内容... -->
</manifest>

执行完上述步骤后,重新运行npm run android即可完成构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:10:26