React Native App设置&Android版发布
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,添加如下的代码(注意把其中的****替换为相应密码)
1 2 3 4 5 6 7 | 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,添加如下的签名配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | ... 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.发行应用
执行命令:
1 | cd android && gradlew assembleRelease |
生成的APK文件位于android/app/build/outputs/apk/app-release.apk
5.启用Proguard代码混淆来缩小APK文件的大小(可选)
进入目录~/android/app/build.gradle,设置minifyEnabled选项为true:
1 | def enableProguardInReleaseBuilds = true |
如图:
Proguard是一个Java字节码混淆压缩工具,它可以移除掉React Native Java(和它的依赖库中)中没有被使用到的部分,最终有效的减少APK的大小。
重要:启用Proguard之后,你必须再次全面地测试你的应用。Proguard有时候需要为你引入的每个原生库做一些额外的配置。参见app/proguard-rules.pro文件。

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
2015-07-21 PL/SQL Developer中文版下载以及使用图解(绿色版)