react native 如何不启动android studio打包apk

在 React Native 项目中,你可以不通过 Android Studio,而是使用命令行工具来构建和打包 APK。这通常通过使用 Gradle
实现。在此之前,请确保你已经安装了 JDK 和 Android SDK,并且 ANDROID_HOME
环境变量已正确配置。以下是步骤:
使用命令行打包 APK
-
确保环境配置正确
确保
JAVA_HOME
和ANDROID_HOME
已在环境变量中正确设置。你可以在终端中检查这些环境变量。export JAVA_HOME=/path/to/your/jdk export ANDROID_HOME=/path/to/your/sdk export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
-
切换到 Android 项目目录
在你的 React Native 项目的根目录下,进入 Android 项目目录:
cd android
-
构建 APK
运行
./gradlew assembleRelease
命令来构建一个 release 版本的 APK。该命令将构建 Android 项目并打包为 APK。./gradlew assembleRelease
如果你在 Windows 上,可以使用:
gradlew assembleRelease
-
找到生成的 APK
生成的 APK 文件通常位于
android/app/build/outputs/apk/release/
目录。如果构建成功,你会在此文件夹下找到一个名为app-release.apk
的文件。
配置签名
为了发布到 Google Play Store 或分发给用户,你需要对 APK 进行签名。以下是一种常见的做法:
-
生成签名密钥
首先,使用
keytool
来生成一个签名密钥:keytool -genkey -v -keystore my-release-key.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
这将要求你输入一些信息(如密钥库密码),并在结束时生成一个
my-release-key.keystore
文件。 -
配置 Gradle 来使用签名密钥
在
android/app
下创建一个名为release-keystore.properties
的文件(这个文件名可以自定义),然后将以下内容添加到文件中:storeFile=my-release-key.keystore storePassword=your-store-password keyAlias=my-key-alias keyPassword=your-key-password
然后在
android/app/build.gradle
中的signingConfigs
部分中配置使用该密钥:android { ... signingConfigs { release { if (project.hasProperty('storePassword')) { storeFile file(project.storeFile) storePassword project.storePassword keyAlias project.keyAlias keyPassword project.keyPassword } } } buildTypes { release { signingConfig signingConfigs.release } } }
-
重建 APK
重新运行命令
./gradlew assembleRelease
以生成签名后的 APK。
这样,你就完成了通过命令行工具而非 Android Studio 打包 APK 的流程。如果需要调试或开发版本,你可以使用 ./gradlew assembleDebug
来生成调试 APK。