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

React Native执行signingReport生成SSH密钥遇两类Gradle错误求助

解决React Native执行./gradlew signingReport时的两个Gradle错误

第一个错误:compileSdkVersion is not specified. Please add it to build.gradle

你app模块的build.gradle里引用了rootProject.ext.compileSdkVersion这类全局变量,但Gradle找不到这些变量的定义才会报错,按以下步骤修复:

  • 检查根目录的build.gradle(不是app子目录下的那个),确保buildscript块里定义了全局ext变量:

    buildscript {
        ext {
            compileSdkVersion = 33 // 对应React Native版本选合适值,比如RN 0.70+用33
            ndkVersion = "25.1.8937393"
            minSdkVersion = 21
            targetSdkVersion = 33
        }
        repositories {
            google()
            mavenCentral()
        }
        dependencies {
            classpath("com.android.tools.build:gradle:7.3.1") // 这个版本要和你的Gradle 7.3.3兼容
            // 其他依赖如Kotlin插件等
        }
    }
    

    注意:React Native版本和compileSdkVersion有固定对应关系,比如RN 0.68对应31,0.72+对应33,别乱选版本。

  • 确认app模块build.gradle的语法完整:
    你贴的代码里defaultConfig块没写完,要确保整个文件的括号闭合,没有语法错误,否则Gradle也会解析失败。


第二个错误:Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

这个是因为当前配置用了Gradle 8.0不再支持的旧特性,按以下步骤排查修复:

  • 先查看具体是哪些特性被废弃:
    执行命令打印详细警告:

    ./gradlew signingReport --warning-mode=all
    

    输出里会明确指出废弃的API或配置,比如旧的compile依赖要换成implementation,或者插件版本太低。

  • 升级兼容的插件版本:
    比如你的Kotlin版本是1.5.31,和Gradle 7.3.3不匹配,建议升级到1.6.21+,在根build.gradle里修改:

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
        // 其他插件也确保和Gradle 7.3.3兼容
    }
    
  • 调整gradle.properties配置:
    在项目根目录的gradle.properties里添加这些配置,提前适配并明确警告模式:

    org.gradle.warning.mode=all
    android.useAndroidX=true
    android.enableJetifier=true
    

验证修复

修改完所有配置后,先清理缓存:

./gradlew clean

再重新执行./gradlew signingReport,应该能正常生成签名报告了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:50:43