應用開發完了,總不能頂着MyProject和小機器人圖標就發布了吧?在發布之前,有多處需要修改的地方。今天我們來全面的看一下
應用ID
俗稱PackageName,或APP ID。注意,在gradle構建的安卓應用里(React Native引用都是由gradle構建的),不要直接修改AndroidManifest.xml中的package字段,不但連源代碼也要跟着改,而且結果還沒用……
正確的改法是修改android/app/build.gradle
中的以下內容:
……
android {
……
defaultConfig {
applicationId "com.myproject" <-- 就是這行 …… } …… }
另外,修改后,你會發現react-native run-android無法啟動應用(或者總是啟動之前的版本),因為這時候還是試圖啟動原來的包名。這是因為react native官方還有一個BUG。你可以參照此PR修改,也可以在run-android后手動找到應用並打開。
版本號
還是在android/app/build.gradle
中,versionCode 和versionName兩項。versionCode必須每次增加,不能減少。每次發布之前,這兩項都要修改哦~
應用名稱
在android/app/src/main/res/values/strings.xml
中,找到<string name="app_name">MyProject</string>
,中間的MyProject就是應用名稱了。
圖標
在android/app/src/main/res/
下,你會看到一系列mipmap開頭的文件夾(默認是4個),按照里面ic_launcher.png的尺寸,生成四個版本的icon並替換。
有時候圖標修改會遲遲不生效,此時從手機上徹底刪掉原應用,刪掉文件夾android/build
和android/app/build
,然后再重新打包
簽名
要想打出發布包來,簽名是必須的。你可以參照此文檔生成並使用簽名,相關內容都在android/app/build.gradle
,包括
...
android {
...
defaultConfig { ... }
signingConfigs {
release { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD } } buildTypes { release { ... signingConfig signingConfigs.release } } } ...
通過環境變量配置簽名有助於確保簽名安全。當然,你也可以直接配置這些字段嗎,像這樣:
signingConfigs { release { keyAlias 'store' keyPassword '123456' storeFile file('../../keystore/keystore.jks') storePassword '123456' } }