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

React Native执行assembleRelease命令报错,无法生成APK

解决React Native打包Release APK时的generateReleaseBuildConfig失败问题

错误分析

执行./gradlew assembleRelease时遇到两个核心问题:

  1. 清单文件缺失:系统找不到/home/nitin/Documents/reactnative/AwesomeProject/android/src/main/AndroidManifest.xml,导致无法计算applicationId,直接引发generateReleaseBuildConfig任务失败。
  2. 栈溢出错误:java.lang.StackOverflowError,通常和Gradle内存分配不足或缓存异常有关。

分步解决方案

一、修复AndroidManifest.xml缺失问题

  • 检查文件路径:先确认android/src/main/目录下是否真的没有AndroidManifest.xml。如果是项目初始化不完整或误删导致:
    • 若为纯React Native项目,可删除android目录后,备份好src、package.json等核心文件,再运行npx react-native init AwesomeProject --directory ./重新生成Android原生目录。
    • 若不想重新初始化,可手动创建AndroidManifest.xml,基础模板如下(替换package值为你的应用ID):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.awesomeproject">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name=".MainApplication"
        android:label="@string/app_name"
        android:icon="@mipmap/ic_launcher"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:allowBackup="false"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
            android:launchMode="singleTask"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

二、解决StackOverflowError问题

  • 调整Gradle内存分配:打开android/gradle.properties文件,添加或修改以下配置,增大JVM内存:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
  • 清理Gradle缓存:在项目根目录运行./gradlew clean,清除旧构建缓存后,再重新执行./gradlew assembleRelease(注意命令拼写:是assemble而非asseble)。
  • 检查Gradle版本兼容性:确认android/build.gradle中的Gradle插件版本与android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本匹配(比如React Native 0.70+对应Gradle插件7.4.2,Gradle版本7.5+)。

验证修复

完成以上步骤后,重新运行./gradlew assembleRelease,若配置正确,即可在android/app/build/outputs/apk/release/目录下生成Release APK文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 18:05:25