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

集成react-native-code-push后React Native 0.68.1打包APK报错及更新失败问题

解决React Native 0.68.1集成CodePush 8.0.2打包APK报错及更新失败问题

问题分析

打包时触发的No signature of method: java.util.ArrayList.get()错误,源于CodePush 8.x版本的Gradle脚本在读取编译SDK版本时,与RN 0.68.x的build.gradle结构适配存在问题;后续移除apply from脚本位置后能打包但无法更新,是因为CodePush的打包注入逻辑未正常生效。

具体解决方案

1. 修复codepush.gradle的SDK版本读取错误

找到node_modules/react-native-code-push/android/codepush.gradle文件,定位到报错的第6行附近:

  • 原代码可能类似:def compileSdkVersion = android.compileSdkVersion.get()
  • 修改为:def compileSdkVersion = android.compileSdkVersion(直接获取版本值,无需调用无参get())
  • 若项目SDK版本定义在根目录build.gradle的ext块中,也可改为:def compileSdkVersion = project.ext.compileSdkVersion

修改后保存,重新执行打包命令。

2. 正确配置apply from的位置

不要移动apply from到其他文件,必须保留在app/build.gradle中,正确位置示例:

apply plugin: "com.android.application"
apply plugin: "com.facebook.react"
// 放在此处,确保在android块之前加载CodePush脚本
apply from: "../../node_modules/react-native-code-push/android/codepush.gradle"

android {
    compileSdkVersion 31 // RN 0.68.x推荐使用31,确保此处配置正确版本
    defaultConfig {
        targetSdkVersion 31
        // 其他默认配置...
    }
    // 其他android块配置...
}

同时确保app/build.gradle的android块中明确指定compileSdkVersion和targetSdkVersion,解决第二个报错。

3. 确保更新功能正常的额外检查

  • 确认AndroidManifest.xml中配置了正确的CodePush部署密钥:
    <meta-data 
        android:name="com.microsoft.codepush.DeploymentKey" 
        android:value="@string/CodePushDeploymentKey" />
    
    且strings.xml中的CodePushDeploymentKey与App Center对应环境的密钥一致。
  • 确认MainApplication.java中正确初始化CodePush:
    import com.microsoft.codepush.react.CodePush;
    
    @Override
    protected List<ReactPackage> getPackages() {
      List<ReactPackage> packages = new PackageList(this).getPackages();
      // 添加CodePush初始化
      packages.add(new CodePush(BuildConfig.CODEPUSH_KEY, getApplicationContext(), BuildConfig.DEBUG));
      return packages;
    }
    
  • 打包时使用正确命令:npx react-native run-android --variant=release,或直接用./gradlew assembleRelease打包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:05:07