博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react-native 打包 出apk
阅读量:5121 次
发布时间:2019-06-13

本文共 1870 字,大约阅读时间需要 6 分钟。

 

 先上步骤: 

一、 生成签名文件(my-release-key.keystore文件)

Android要求所有应用都有一个数字签名才会被允许安装在用户手机上

1.  在项目目录下运行如下命令:

 keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 

 

2. 输入密钥库口令:(如图,在输入上面的命令后,会有如下的要求)

  要求至少6个字符,一定要记住输入的内容(输入的时候 终端上是不显示输入的内容的)

  笔者在第一次打包的时候就是懵逼的,看着空荡荡的输入区域,以为键盘坏了,一顿狂按,发现回车还能用,然后在后面需要密钥的时候就。。。

  注意:请记得妥善地保管好你的密钥库文件,不要上传到版本库或者其它的地方。(React中文网提示)

3. 姓名、地址这些的就可以直接回车跳过了,在最后显示:“是否正确” 的时候 选择 是 就可以了

 

 

4. 生成签名文件my-release-key.keystore(会在项目目录下生成)

 

二、 将项目目录下生成的my-release-key.keystore文件,拷到 android/app 目录下

 

 

三、修改android里面的代码

1. 在android/gradle.properties文件中,加入如下代码:(此处就需要刚刚输入的密钥了)

MYAPP_RELEASE_STORE_FILE=my-release-key.keystoreMYAPP_RELEASE_KEY_ALIAS=my-key-aliasMYAPP_RELEASE_STORE_PASSWORD=******MYAPP_RELEASE_KEY_PASSWORD=******

 

2. 在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        }    }    splits {       ...    }    buildTypes {        release {            minifyEnabled enableProguardInReleaseBuilds            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"            signingConfig signingConfigs.release    //新增此句        }    }    ...}

 

注意: 把 def enableProguardInReleaseBuilds = false 改成 true

启用Proguard代码混淆来缩小APK文件的大小(保护源代码,缩小APK包)

Proguard是一个Java字节码混淆压缩工具,它可以移除掉React Native Java (和它的依赖库中)中没有被使用到的部分,最终有效的减少APK的大小。

(此处解释来自:)

 

四、最后,我们就可以执行打包命令了(以后再打包,只需要执行此命令)

gradlew assembleRelease

 

win10系统的powershell里面执行后,会报错误:

 

 改为如下命令即可

./gradlew assembleRelease

 

最终,在不报错的情况下,会在 android\app\build\outputs\apk\release目录下生成app-release.apk这个最终的打包文件

 

转载于:https://www.cnblogs.com/nangezi/p/10582132.html

你可能感兴趣的文章
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
python常用函数
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
【工具相关】iOS-Reveal的使用
查看>>
数据库3
查看>>
存储分类
查看>>
下一代操作系统与软件
查看>>
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Yii2 Lesson - 03 Forms in Yii
查看>>
Python IO模型
查看>>
Ugly Windows
查看>>