Android在打包軟件過(guò)程中,需要仔細(xì)檢查打包的每一步,本文是武林技術(shù)頻道小編為大家?guī)?lái)的淺談React Native打包apk的坑,下面跟著武林技術(shù)頻道小編進(jìn)行學(xué)習(xí)吧!
生成一個(gè)簽名密鑰
在項(xiàng)目的目錄下打開(kāi)cmd命令窗口輸入一下命令運(yùn)行:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
這條命令會(huì)要求你輸入密鑰庫(kù)(keystore)和對(duì)應(yīng)密鑰的密碼,然后設(shè)置一些發(fā)行相關(guān)的信息。最后它會(huì)生成一個(gè)叫做my-release-key.keystore的密鑰庫(kù)文件。注意密匙庫(kù)和密碼自己寫的,如果是測(cè)試隨便即可
在運(yùn)行上面這條語(yǔ)句之后,密鑰庫(kù)里應(yīng)該已經(jīng)生成了一個(gè)單獨(dú)的密鑰,有效期為10000天。--alias參數(shù)后面的別名是你將來(lái)為應(yīng)用簽名時(shí)所需要用到的,所以記得記錄這個(gè)別名。
注意:請(qǐng)記得妥善地保管好你的密鑰庫(kù)文件,不要上傳到版本庫(kù)或者其它的地方。
設(shè)置gradle變量
把my-release-key.keystore文件放到你工程中的android/app文件夾下。

編輯~/.gradle/gradle.properties(沒(méi)有這個(gè)文件你就創(chuàng)建一個(gè)),添加如下的代碼(注意把其中的****替換為相應(yīng)密碼)
這里是官網(wǎng)的教程,這里會(huì)有一個(gè)坑,其實(shí)我們需要把這個(gè)文件放到android的目錄下:

并在文件中添加一下代碼:
MYAPP_RELEASE_STORE_FILE=my-release-key.keystoreMYAPP_RELEASE_KEY_ALIAS=my-key-aliasMYAPP_RELEASE_STORE_PASSWORD=123456MYAPP_RELEASE_KEY_PASSWORD=123456
添加簽名到項(xiàng)目的gradle配置文件
編輯你項(xiàng)目目錄下的android/app/build.gradle,添加如下的簽名配置:
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 { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release } }
生成發(fā)行APK包
windows下輸入一下命令:
cd android && gradlew assembleRelease
等待打包結(jié)果,如果看到如下結(jié)果說(shuō)明成功了,如果沒(méi)有成功歡迎大家貼出你的錯(cuò)誤一起總結(jié)

生成的APK文件位于android/app/build/outputs/apk/app-release.apk,它已經(jīng)可以用來(lái)發(fā)布了。
以上就是關(guān)于淺談React Native打包apk的坑,感興趣的可以看一下,看完記得分享,想了解更多精彩內(nèi)容就請(qǐng)關(guān)注js.Vevb.com吧!
新聞熱點(diǎn)
疑難解答
圖片精選