React Native開發Android APP用指令
使用React-Native開發Android APP時,會使用 react-native run-android 建置並安裝到模擬器。不過在實際運作的專案上,我需要更多的功能。而下面這些指令我都寫在專案的package.json裡以備不時之需。
啟動debug,release,或stage模式
- 跑指定模式
像是我要開debug或release甚至其他的config,就會用到--variant
react-native run-android --variant=release
Android APP預設variant至少有debug和release。 - 跑指定package
react-native run-android --variant=debug --appId=com.example.dev
如果你的app的package在debug模式下用另一個package,以便在同一台機器上測試正式或除錯版
建置JS bundle
有時候只是想build js的部份,可以用bundle build就好,指令舉例如下:
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/app/src/main/res,導致我的專案APK建置失敗,所以後來就不太使用了
清除Cache
開發用hot-reload有時不管怎樣都不會讀取我的新程式碼,就需要清除cache
react-native start --reset-cache
這個指令執行完會啟動RN dev server所以需要再ctrl+c停止APK建置
建置APK之前會先建置JS bundle
- 建置正式版
cd android && ./gradlew assembleRelease && nautilus app/build/outputs/apk/release - 建置除錯版
cd android && ./gradlew assembleDebug && nautilus app/build/outputs/apk/debug - 建置所有版本
cd android && ./gradlew build && nautilus app/build/outputs/apk
nautilus是ubuntu的檔案管理員,windows要用explorer.exe app\build\outputs\apk\release
清除APK建置
- 全部清除
cd android && ./gradlew clean - 清除正式版
cd android && ./gradlew clean assembleRelease - 清除除錯版
cd android && ./gradlew clean assembleDebug
留言