React Native開發Android APP用指令

使用React-Native開發Android APP時,會使用 react-native run-android 建置並安裝到模擬器。不過在實際運作的專案上,我需要更多的功能。而下面這些指令我都寫在專案的package.json裡以備不時之需。

啟動debug,release,或stage模式

  1. 跑指定模式
    像是我要開debug或release甚至其他的config,就會用到--variant
    react-native run-android --variant=release
    Android APP預設variant至少有debug和release。
  2. 跑指定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

留言