ReactNative 安卓打包APK踩坑記錄

1.生成簽名密鑰。

? ? ? 進(jìn)入指定目錄下?以管理員身份運(yùn)行? cmd窗口,然后進(jìn)入jdk的bin文件目錄,一般會(huì)在C:\Program Files\Java\jdkx.x.x_x\bin,,不然最后創(chuàng)建keystore文件時(shí)會(huì)提醒拒絕訪問


,在bin文件路徑下輸入下列字符回車(-alias 后面的斜體字是簽名文件的alias,需記住后面需要用)

c:\Program Files\Java\jdk1.8.0_45\bin>keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000。

按步驟輸入提示的內(nèi)容,都可以隨便輸入,只是些基本信息,到了最后一步要求輸入“該單位的雙字母國(guó)家/地區(qū)代碼是什么?”,會(huì)提示“[否]:”,請(qǐng)輸入"y"然后回車即可,按要求輸入密鑰,及密鑰確認(rèn)(輸入時(shí)不顯示,輸完回車即可)。即可看到生成的keystore文件。


2.將生成的keystore文件放入RN項(xiàng)目的app文件路徑下


3.打開android路徑下的gradle.properties,添加如下代碼

MYAPP_RELEASE_STORE_FILE=“你的keystore文件名字,記得帶.后綴”

MYAPP_RELEASE_KEY_ALIAS=“之前讓你記住的alias”

MYAPP_RELEASE_STORE_PASSWORD=之前設(shè)置的密鑰

MYAPP_RELEASE_KEY_PASSWORD=之前設(shè)置的密鑰



4.打開android\app\build.gradle,

找到?enableProguardInReleaseBuilds=false 改為true(官方文檔沒說(shuō),但是有的地方說(shuō)了,不知道管用不管用)

找到?signingConfigs{},在下面添加

if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {

storeFile file("D:/vueProject/projectTest/android/app/my-release-key.keystore")

storePassword "你的storePassword"

keyAlias "你的keyAlias?"

keyPassword "你的keyPassword?"

}


切記!!!storeFile file()斜線/一定不要輸入成反斜線\,windows反正是這樣,這個(gè)坑坑了我半天。MacOS不知道是需要斜線還是反斜線。

接下來(lái)還是在build.gradle中 添加signingConfig signingConfigs.release,添加完效果如下。

buildTypes{

release{

......

signingConfig signingConfigs.release

}

}



5.最后在項(xiàng)目根目錄下運(yùn)行命令cd android gradlew assembleRelease

如已經(jīng)進(jìn)入android路徑下 則只需運(yùn)行?gradlew assembleRelease。

官方文檔如下

$ cd android

$ ./gradlew assembleRelease,

window環(huán)境下,無(wú)需輸入$ ./。親測(cè)好用,原理不知。

接下來(lái)就是漫長(zhǎng)的等待,打包過程比android studio 原生打包還慢,可能會(huì)報(bào)幾個(gè)方法過時(shí)的錯(cuò)誤。打好的apk包在 項(xiàng)目\android\app\bulid\outputs\apk\release下


完!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容