【问题标题】:How to build react native android app for production?如何构建用于生产的原生 Android 应用程序?
【发布时间】:2015-12-14 06:24:01
【问题描述】:

我已经看到了 react native for android 的新版本并尝试了一些示例。它仅适用于 USB 调试模式和“adb reverse tcp:8081 tcp:8081”。如何为“生产”构建 android 应用程序,包括所有依赖项并且没有响应 Web 服务器连接。 谢谢。

【问题讨论】:

  • 这些解决方案对您有用吗?该过程为我生成了一个未签名的 apk,任何指针?

标签: react-native


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢。等待更好的工具来做到这一点。如果我错了,请纠正我,对于构建版本 .apk 还没有工具吗?
  • 从根应用目录试试这个cd android && ./gradlew assembleRelease。根据新文档,facebook.github.io/react-native/docs/signed-apk-android.html
  • @Martin 谢谢你,但我似乎仍然有麻烦,这个过程为我生成了一个未签名的 apk,知道我做错了什么吗?
  • 您需要使用您的密钥库对其进行签名。看看这个 - facebook.github.io/react-native/docs/…
  • @martin-konicek,这个解决方案只生成了一个app-release-unsigned.apk,我尝试安装但没有安装。有什么特别已知的原因吗?谢谢
【解决方案2】:

您必须创建一个密钥来签署 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 上传到您的手机。 -r 标志将替换现有应用程序(如果存在)

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

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

【讨论】:

  • 文件夹结构更新,手机使用adb install -r ./app/build/outputs/apk/release/app-release.apk安装
【解决方案3】:

至于我,我将 package.json 添加到“脚本”中:

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

然后在终端我使用:

npm run release

或者用纱线:

yarn release

【讨论】:

    【解决方案4】:

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

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

    $ 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添加了详细说明

    【讨论】:

      【解决方案5】:

      创建 Android 应用程序包以在 Play 商店中发布应用程序。

      cd /android
      sudo ./gredlew bundleRelease
      

      转到android/build/outputs/bundle/release/app-release.aab

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-23
        • 2020-05-07
        • 1970-01-01
        • 1970-01-01
        • 2013-03-19
        相关资源
        最近更新 更多