React-native之签名打包(3)

一.简介

我们开发完项目,会将应用上传到应用市场,在上传应用市场前,需要签名,打包。今天我们来看看RN如何签名打包。

二.步骤
1.生成一个签名密钥

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

接着会让你填写密钥密码,姓名,单位,组织,城市,省,国家代码(中国是86),会询问你是否填写正确,如果正确输入y,会让你按回车键,当你按键之后,就会生成签名文件。

其中my-project01-key.keystore为签名文件的名称,my-key-alias为别名的名称。

01.png
02.png
2.找到路径/android/app/src/main,并在该目录下新建assets文件夹
03.png
3.在工程目录下将index.android.bundle下载并保存到assets资源文件夹中

curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle

如果assets目录中不存在该文件,则打包的apk在执行时显示空白。
如果命令行提示curl不是内部或外部命令,是因为你没有安装curl.
Windows下安装使用curl命令:http://jingyan.baidu.com/article/a681b0dec4c67a3b1943467c.html

将curl.exe放到你的工程根目录

04.png
4.添加gradle的android keystore配置

在build.gradle文件中

//签名
signingConfigs{ release { storeFile file("D://RN_software/app_project/MyProject1/my-project01-key.keystore") storePassword "123456" keyAlias "my-key-alias" keyPassword "123456" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release //添加这句话引用签名配置 } }

5.启用Proguard代码混淆来缩小APK文件的大小

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

重要:启用Proguard之后,你必须再次全面地测试你的应用。Proguard有时候需要为你引入的每个原生库做一些额外的配置。参见app/proguard-rules.pro文件。

def enableProguardInReleaseBuilds = true

6.在/android/目录中执行gradle assembleRelease命令,打包后的文件在 android/app/build/outputs/apk目录中,例如app-release.apk。如果打包碰到问题可以先执行 gradle clean 清理一下。

安装gradle工具(版本与android\gradle\wrapper下的一致),并配置环境变量,配置GRADLE_HOME到你的gradle根目录当中,然后把%GRADLE_HOME%/bin(linux或mac的是$GRADLE_HOME/bin)加到PATH的环境变量。

配置完成之后,运行gradle -v,检查一下是否安装无误

7.将apk发布到各大应用市场
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,982评论 25 708
  • 本人刚刚接触RN,将自己遇到的问题做个分享,仅供参考! 1、生成一个签名密钥 keytool -genkey -v...
    淡望江湖路阅读 685评论 1 0
  • title: React Native 打包APKtags: [Android, React Native]cat...
    呼呼哥阅读 716评论 0 0
  • 添加测试 写单元测试类能降低出 bug 的概率,只要单个测试中通过,整体运行起来有七八成的概率是没问题的。再者不能...
    小菜_charry阅读 608评论 0 0
  • 我记得你的事比你以为我所记得的,要多的多。 前天,你无意走过我身侧的时候,温柔的一阵风,轻吹起作业的纸张。带着熟悉...
    周慕俞阅读 349评论 0 0