美文网首页
ReactNative 安卓打包APK踩坑记录

ReactNative 安卓打包APK踩坑记录

作者: 啥啥啥啥啥啥啥 | 来源:发表于2019-12-26 15:47 被阅读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下

    完!

    相关文章

      网友评论

          本文标题:ReactNative 安卓打包APK踩坑记录

          本文链接:https://www.haomeiwen.com/subject/vankoctx.html