如何构建用于生产的原生 Android 应用程序?
Posted
技术标签:
【中文标题】如何构建用于生产的原生 Android 应用程序?【英文标题】:How to build react native android app for production? 【发布时间】:2015-12-14 06:24:01 【问题描述】:我已经看到了 react native for android 的新版本并尝试了一些示例。它仅适用于 USB 调试模式和“adb reverse tcp:8081 tcp:8081”。如何为“生产”构建 android 应用程序,包括所有依赖项并且没有响应 Web 服务器连接。 谢谢。
【问题讨论】:
这些解决方案对您有用吗?该过程为我生成了一个未签名的 apk,任何指针? 【参考方案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 商店控制台上上传此捆绑包。
【讨论】:
以上是关于如何构建用于生产的原生 Android 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
摆脱 AI 生产“小作坊”:如何基于 Kubernetes 构建云原生 AI 平台
在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)
将复杂的原生应用程序编译到 Android ARM 的完整方法
如何在 NDK 原生代码中获取断点并在 Android Studio 中调试原生代码?