我已经构建了我的应用程序,我可以在我的本地模拟器上运行它(也可以在同一网络内通过更改调试服务器在我的android设备上运行)。

然而,我想构建一个APK,我可以发送给没有访问开发服务器的人,我希望他们能够测试应用程序。

我看到有一节使用离线捆绑在iOS部分的文档。但我不知道如何在android上实现同样的功能。这可能吗?如果有,怎么做?

更新:关于这个问题的答案(Android无法加载JS包),据说离线包可以从开发服务器下载。但是当我从开发服务器获取包时,图像文件无法加载。


当前回答

第一个

cd android

然后运行

./gradlew installRelease

最后你将能够在这里找到apk。

Project\android\app\build\outputs\apk\release\app-release.apk

其他回答

React Native 0.49及以上版本

你应该在终端的工程目录下运行这个命令

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

如果低于0.49

  1 - mkdir android/app/src/main/assets
  2 - 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

然后使用android studio在你的react原生应用目录中打开“android”文件夹,它会要求升级gradle和其他一些东西。去build->生成签名APK,并按照那里的指示。那好。

试试下面,它会在你的根/android/app/build/outputs/apk/debug文件夹下生成一个app-debug.apk

React-native bundle——platform android——dev false——entry-file index.js——bundle-output android/app/src/main/assets/index.android。Bundle——assets-dest android/app/src/main/res

然后进入android文件夹并运行

。/ gradlew assembleDebug

参考react-native关于生成签名APK的官方文档

原生生成签名APK

如果有人想建立没有playstore键,那么这个命令将是非常有用的。

# react-native run-android——variant=release

构建完成后,您可以在发布构建文件中找到apk。

对我来说,./gradlew assemblerrelease不再工作,但下面的可以。

./gradlew :app:assembleRelease

感谢这条评论。