在我們的React Native For Android應用開發完成之后,那么就需要進行發布上傳應用市場了,在上傳之后,那么有一個很重要的步驟就是簽名打包。下面我們來詳細看一下怎么樣進行簽名打包React Native應用。
<p>
(一)Android簽名文件生成
上面有一個Android官方的簽名生成方法的地址,大家可以進行詳情查看,不過需要翻墻哦~。我現在給大家講解兩種簽名生成的方法:
①:keytool命令方式生成 ,②:Android Studio IDE進行生成。
1.1 keytool命令生成簽名秘鑰
我們可以命令行運行如下命令:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
[注意].我這邊環境變量已經配置了,注意上面的my-release-key這個名字可以自己取名,同時my-key-alias也是自己取名,其中第二個名稱alias參數后邊的別名,在后面你在為應用簽名的時候需要用到,所以暫時記錄一下這個別名。
上面的命令我們需要輸入密鑰庫(keystore)密碼和對應秘鑰的密碼,然后設置名字,組織,國家,省份相關的信息,最后會生成my-release-key.keystore的簽名文件。
具體命令截圖如下:
現在我們去用戶默認目錄下面會生成my-release-key.keystore文件。具體截圖如下
1.2 Android Studio IDE進行生成秘鑰文件
個人比較傾向于這一種方法,首先是圖形界面的,而且少了命令行書寫的問題,而且以前我記得在使用Eclipse開發Android的時候也一直使用這種方式,下面我們來看一下生成簽名的具體步驟:
首先打開Android Studio菜單選擇build->Generate Signed APK 在打開的界面點擊Next,會彈出下面的界面
最后點擊finish會生成簽名秘鑰,不過大家請注意看這邊生成的秘鑰和第一個命令行方法的秘鑰的后綴不太一樣的,這邊是以jks結尾的,不過也沒問題哦~也是同樣可以簽名的。
![Upload Paste_Image.png failed. Please try again.]
以上兩種方式已經給大家演示了,打包簽名的方法了,下面我們正式來進行配置打包生成APK了。
(二)Gradle配置
2.1.Gradle配置
①.首先我們要把剛剛生成的簽名文件復制到項目android/app文件夾下面( 這邊采用AS生成簽名test.jks )。
然后進行修改項目中gradle.properties文件,進行添加如下的代碼(注意下面的簽名和別名的名稱和上一步放入的test.jks要一樣,下面兩項分別填寫簽名和別名的密碼)-我取的密碼為123456
MYAPP_RELEASE_STORE_FILE = test. jks
MYAPP_RELEASE_KEY_ALIAS = test_alias
MYAPP_RELEASE_STORE_PASSWORD = 123456
MYAPP_RELEASE_KEY_PASSWORD = 123456
這一步我們是進行全局的gradlde進行變量化的配置,后邊我們會在后邊的步驟中給相應的應用進行簽名。
[注意].以上的簽名秘鑰請大家一定要妥善保管,因為在應用發布的時候需要的。
3.2.給應用添加簽名-配置局部應用Gradle文件直接在工程目錄下得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
}
}
}
…
具體實例配置截圖如下:
(三)Gradle配置
生成簽名包
對于生成簽名包得方式我們要分兩種情況進行區分對待。第一種在項目目錄android/app下有react.gradle文件的(這個采用react-native init xxproject命令生成項目詳情請看:
第二種是不存在react.gradle文件,主要是通過原生Android項目移植到React Native平臺中。下面這兩種方法都講一下:4.1.對存在react.gradle文件的項目打包命令行切到react native主目錄,然后運行下面的命令,請注意下面 android就是Android項目的目錄名稱
cd android && . /gradlew assembleRelease
這樣運行截圖如下:
該命令運行結束之后,會在android/app/build/outputs/apk目錄下面生成app-release.apk該文件,然后可以使用該apk進行上線發布。