如何构建用于生产的 React Native android 应用程序?

How to build react native android app for production?

我看过 android 的 React Native 的新版本并尝试了一些示例。它仅适用于 USB 调试模式和 "adb reverse tcp:8081 tcp:8081"。我如何为 "production" 构建 android 应用程序,包括所有依赖项并且不响应网络服务器连接。 谢谢。

要构建您的 Android 应用的发布版本:

$ cd your-app-folder
$ cd android && ./gradlew assembleRelease

您需要为 Play 商店设置签名密钥,完整文档在此处:https://reactnative.dev/docs/signed-apk-android

我整理了一些对我有用的步骤。希望它能节省时间。

要捆绑包在本地工作,您需要做

$ curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"

然后编译apk

$ ./gradlew assembleRelease

我在以下位置添加了详细说明:https://github.com/shyjal/reactnative-android-production

至于我,我把我的 package.json 添加到 "scripts":

"release": "cd android && ./gradlew assembleRelease"

然后在终端我使用:

npm run release

或者用纱线:

yarn release

您必须创建一个密钥来签署 apk。使用以下内容创建您的密钥:

keytool -genkey -v -keystore my-app-key.keystore -alias my-app-alias -keyalg RSA -keysize 2048 -validity 10000

出现提示时使用密码

生成密钥后,使用它生成可安装版本:

react-native bundle --platform android --dev false --entry-file index.android.js \
  --bundle-output android/app/src/main/assets/index.android.bundle \
  --assets-dest android/app/src/main/res/

使用 gradle

生成构建
cd android && ./gradlew assembleRelease

将 APK 上传到您的 phone。 -r 标志将替换现有应用程序(如果存在)

adb install -r ./app/build/outputs/apk/app-release-unsigned.apk

这里提到了更详细的描述:https://facebook.github.io/react-native/docs/signed-apk-android.html

创建您的 android 应用程序包以在 Play 商店发布应用程序。

cd /android
sudo ./gradlew bundleRelease

前往android/build/outputs/bundle/release/app-release.apk

在 Play 商店控制台上传此捆绑包。