1. 生成Android簽名證書(shū)
//打開(kāi)文件夾
huanliu@huandeMacBook-Pro Desktop % cd /Users/huanliu/Desktop/0721
//生成證書(shū),其中mykey-alias為自定義的別名,mykey.keystore自定義的別名
keytool -genkey -alias mykey-alias -keyalg RSA -keysize 2048 -validity 36500 -keystore mykey.keystore
//查看該證書(shū)
keytool -list -v -keystore mykey.keystore
- keytool -genkey 固定寫(xiě)法
- -v 打印生成證書(shū)的詳細(xì)信息
- -keystore mykey.keystore 生成的證書(shū)的文件名為"mykey.keystore"(根據(jù)需求泞当,設(shè)置你的證書(shū)名)
- -alias mykey-alias 證書(shū)的別名為" mykey-alias"。(一般和上面的文件名相同亿眠,可以不同音婶,但要記好郑象,簽名時(shí)會(huì)用(A))
- -keyalg RSA 固定寫(xiě)法
- -validity 30000 該數(shù)字證書(shū)的有效期為30000天,30000天之后該證書(shū)將失效
2.設(shè)置gradle變量
- 將你的簽名證書(shū)copy到 android/app目錄下。
- 編輯~/.gradle/gradle.properties或../android/gradle.properties(一個(gè)是全局gradle.properties强经,一個(gè)是項(xiàng)目中的gradle.properties,大家可以根據(jù)需要進(jìn)行修改) 寺渗,加入如下代碼:
MYAPP_RELEASE_KEY_ALIAS=mykey-alias //證書(shū)別名
MYAPP_RELEASE_KEY_PASSWORD=123456 //key密碼
MYAPP_RELEASE_STORE_PASSWORD=123456 //口令密碼
MYAPP_RELEASE_STORE_FILE=mykey.keystore //簽名證書(shū)名
3.在gradle配置文件中添加簽名配置
編輯 android/app/build.gradle文件添加如下代碼:
defaultConfig {
applicationId "com.awesomeproject"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0.0"
}
signingConfigs {
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
release {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
signingConfig signingConfigs.release
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
注意把versionName版本號(hào)設(shè)置為3位如1.0.0,用于codepush推送
4.設(shè)置軟件名稱(chēng)
在android/app/src/res/valuse/strings.xml中修改應(yīng)用名稱(chēng)匿情、添加codepushkey
<resources>
<string name="app_name">BeginReact</string>
<string moduleConfig="true" name="CodePushDeploymentKey">okev3y9Xofpxi5L4tx8S54ry-0LIDlOLkMrYAc</string>
</resources>
5.簽名打包APK
terminal進(jìn)入項(xiàng)目下的android目錄,運(yùn)行如下代碼:
./gradlew assembleRelease
6.apk包輸出位置
android/app/build/output/apk
中找到對(duì)應(yīng)的debug和release包