React Native App设置&Android版发布

简介: React Native系列 《逻辑性最强的React Native环境搭建与调试》 《ReactNative开发工具有这一篇足矣》 《解决React Native unable to load script from assets index.

 React Native系列

《逻辑性最强的React Native环境搭建与调试》 
《ReactNative开发工具有这一篇足矣》 
《解决React Native unable to load script from assets index.android.bundle on windows》 
《React Native App设置&Android版发布》 

一、设置APP信息

1.设置包名、版本号

目录:~/android/app/build.gradle

2.设置应用名

目录:~/android/app/src/main/res/values/strings.xml

3.设置图标

在~/android/app/src/main/res/下,你会看到一系列mipmap开头的文件夹(默认是4个),按照里面ic_launcher.png的尺寸,生成四个版本的icon并替换。

有时候图标修改会迟迟不生效,此时从手机上彻底删掉原应用,删掉文件夹android/build和android/app/build,然后再重新打包。如图:

二、打包发布android应用

1.生成签名秘钥

在Windows上keytool命令放在JDK的bin目录中(比如C:\Program Files\Java\jdkx.x.x_x\bin),你可能需要在命令行中先进入那个目录才能执行此命令:

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

需要输入两次密码,它会生成一个叫做my-release-key.keystore的密钥库文件,有效期为10000天,执行界面如图:

2.设置gradle变量

①.把my-release-key.keystore文件放到你工程中的~/android/app文件夹下。

②.编辑~/android/gradle.properties,添加如下的代码(注意把其中的****替换为相应密码)

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore

MYAPP_RELEASE_KEY_ALIAS=my-key-alias

MYAPP_RELEASE_STORE_PASSWORD=*****

MYAPP_RELEASE_KEY_PASSWORD=*****

如图:

3.添加签名到项目的gradle配置文件

目录~/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

        }

    }

    buildTypes {

        release {

            ...

            signingConfig signingConfigs.release

        }

    }

}

...

如图:

4.发行应用

执行命令: 

cd android && gradlew assembleRelease

生成的APK文件位于android/app/build/outputs/apk/app-release.apk

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

进入目录~/android/app/build.gradle,设置minifyEnabled选项为true:

def enableProguardInReleaseBuilds = true

如图:

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

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

 

img_fa0be433d68c8212b2b0b3b1a564ccb1.png
如果本文对你有所帮助,请打赏——1元就足够感动我:)
支付宝打赏 微信打赏
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
关注公众号: img_9bde0f31ac4a0eca10b1bd7414b78faf.png


作者: 王磊
出处: http://vipstone.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,请标明出处。

相关文章
|
监控 Shell Linux
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 向进程发送信号 kill命令 使用指南
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 向进程发送信号 kill命令 使用指南
288 0
|
存储 安全 API
OpenStack的块存储卷管理快照 (Snapshot)
【8月更文挑战第26天】
599 13
|
XML Java 数据格式
【小白写工程】添加Sping配置文件
【小白写工程】添加Sping配置文件
184 0
R语言中如何进行PCA分析?利用ggplot和prcomp绘制基因表达量分析图(上)
R语言中如何进行PCA分析?利用ggplot和prcomp绘制基因表达量分析图
|
SQL 存储 弹性计算
2022云栖精选—云数据库RDS重磅功能发布与最佳实践
彭祥 阿里云数据库事业部资深技术专家 RDS产品部负责人 许鸿斌 阿里云数据库事业部高级产品专家
2022云栖精选—云数据库RDS重磅功能发布与最佳实践
|
9天前
|
人工智能 运维 安全
|
7天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!