注意
首先React Native開發(fā)的APP是無法通過Android Studio進行打包的,因為AS打包的APK,也是和debug版本一樣,需要進行依托l(wèi)ocalhost:8081服務運行。所以我們必須采用官方推薦的打包方式才可以。
打包過程
1.1生成簽名證書
1.1.1簽名的意義:
簽名是應用的唯一ID,也是運用簽名信息進行區(qū)分的。簽名可以保證我們的應用可以正常升級,并且不被別人覆蓋(當包名相同時)。
keytool -genkey -keystore test.keystore -alias test -keyalg RSA -validity 10000
參數(shù)解釋:
-genkey 產(chǎn)生證書文件
-keystore 指定密鑰庫的.keystore文件中
-keyalg 指定密鑰的算法,這里指定為RSA(非對稱密鑰算法)
-validity 為證書有效天數(shù),這里我們寫的是10000天
-alias 產(chǎn)生別名
1.2設置gradle變量
1、將你的簽名證書copy到 android/app目錄下。
2、編輯../android/gradle.properties,加入如下代碼:
MYAPP_RELEASE_STORE_FILE=your keystore filename
MYAPP_RELEASE_KEY_ALIAS=your keystore alias
MYAPP_RELEASE_STORE_PASSWORD={你的密碼}
MYAPP_RELEASE_KEY_PASSWORD={你的密碼}
3、在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 //加
}
}
}
4、簽名打包APK
terminal進入項目下的android目錄,運行如下代碼:
./gradlew assembleRelease
簽名打包成功后你會在 “android/app/build/outputs/apk/”目錄下看到簽名成功后的app-release.apk文件。
提示:如果你需要對apk進行混淆打包 編輯android/app/build.gradle:
def enableProguardInReleaseBuilds = true