2015-09-17 282 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

相關問題