2015-09-17 283 views
29

我已经看到了android的反应本机的新版本,并尝试了一些例子。它仅适用于USB调试模式和“adb reverse tcp:8081 tcp:8081”。我如何构建包括所有依赖关系在内的“生产”的android应用程序,而无需反应Web服务器连接。 谢谢。如何构建反应原生android应用程序的生产?

+0

没有解决方案为你工作?该过程为我生成一个未签名的apk,任何指针? – kamikazeOvrld

回答

37

要建立自己的Android应用程序的发布版本:

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

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

+0

谢谢。等待更好的工具来做到这一点。纠正我,如果我错了,生成版本.apk没有工具了吗?来自root-app目录的 – sanny

+1

试试这个'cd android && ./gradlew assembleRelease'。根据新的文档,https://facebook.github.io/react-native/docs/signed-apk-android.html –

+0

@Martin谢谢你,但我似乎仍然有问题,该过程生成一个无符号apk的我,任何想法我做错了什么? – kamikazeOvrld

5

我已经把一些步骤这对我有效。希望这会节省时间。

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

$ 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

7

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

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

然后在终端我用:

npm run-script release 

或者纱:

yarn release 
+1

结束将脚本添加到我的package.json中,谢谢! –

11

您必须创建一个密钥签署APK。使用下面创建键:使用gradle这个

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/ 

生成编译:

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

提示

一旦密钥生成时使用的密码,用它来生成安装的构建

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

相关问题