如何构建反应原生Android应用程序生产?

san*_*nny 42 react-native

我已经看到了针对android的新版本的本机反应并尝试了一些例子.它仅适用于USB调试模式和"adb reverse tcp:8081 tcp:8081".如何为"生产"构建Android应用程序,包括所有依赖项,并且没有反应的Web服务器连接.谢谢.

Mar*_*cek 55

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

$ cd your-app-folder
$ cd android && ./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

您需要为Play商店设置签名密钥,完整文档如下:http://facebook.github.io/react-native/docs/signed-apk-android.html


小智 24

您将必须创建一个密钥来签署apk.使用以下方法创建密钥:

keytool -genkey -v -keystore my-app-key.keystore -alias my-app-alias -keyalg RSA -keysize 2048 -validity 10000
Run Code Online (Sandbox Code Playgroud)

出现提示时使用密码

生成密钥后,使用它生成可安装的构建:

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/
Run Code Online (Sandbox Code Playgroud)

使用gradle生成构建

cd android && ./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

将APK上传到手机上.-r标志将替换现有应用程序(如果存在)

adb install -r ./app/build/outputs/apk/app-release-unsigned.apk
Run Code Online (Sandbox Code Playgroud)

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

  • 文件夹结构已更新,使用“adb install -r ./app/build/outputs/apk/release/app-release.apk”安装在手机上 (2认同)

Kir*_*tin 12

至于我,我将package.json添加到"脚本":

"release": "cd android && ./gradlew assembleRelease"
Run Code Online (Sandbox Code Playgroud)

然后在终端我使用:

npm run release
Run Code Online (Sandbox Code Playgroud)

或者用纱线:

yarn release
Run Code Online (Sandbox Code Playgroud)


Shy*_*azi 5

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

要将软件包捆绑在本地工作,您需要这样做

$ curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
Run Code Online (Sandbox Code Playgroud)

然后编译apk

$ ./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

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