ReactNative 安卓打包APK踩坑记录

2019-12-26  本文已影响0人  啥啥啥啥啥啥啥

1.生成签名密钥。

      进入指定目录下 以管理员身份运行  cmd窗口,然后进入jdk的bin文件目录,一般会在C:\Program Files\Java\jdkx.x.x_x\bin,,不然最后创建keystore文件时会提醒拒绝访问

,在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。

按步骤输入提示的内容,都可以随便输入,只是些基本信息,到了最后一步要求输入“该单位的双字母国家/地区代码是什么?”,会提示“[否]:”,请输入"y"然后回车即可,按要求输入密钥,及密钥确认(输入时不显示,输完回车即可)。即可看到生成的keystore文件。


2.将生成的keystore文件放入RN项目的app文件路径下

3.打开android路径下的gradle.properties,添加如下代码

MYAPP_RELEASE_STORE_FILE=“你的keystore文件名字,记得带.后缀”

MYAPP_RELEASE_KEY_ALIAS=“之前让你记住的alias”

MYAPP_RELEASE_STORE_PASSWORD=之前设置的密钥

MYAPP_RELEASE_KEY_PASSWORD=之前设置的密钥


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

找到 enableProguardInReleaseBuilds=false 改为true(官方文档没说,但是有的地方说了,不知道管用不管用)

找到 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反正是这样,这个坑坑了我半天。MacOS不知道是需要斜线还是反斜线。

接下来还是在build.gradle中 添加signingConfig signingConfigs.release,添加完效果如下。

buildTypes{

release{

......

signingConfig signingConfigs.release

}

}


5.最后在项目根目录下运行命令cd android gradlew assembleRelease

如已经进入android路径下 则只需运行 gradlew assembleRelease。

官方文档如下

$ cd android

$ ./gradlew assembleRelease,

window环境下,无需输入$ ./。亲测好用,原理不知。

接下来就是漫长的等待,打包过程比android studio 原生打包还慢,可能会报几个方法过时的错误。打好的apk包在 项目\android\app\bulid\outputs\apk\release下

完!

上一篇下一篇

猜你喜欢

热点阅读