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文件。






本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/p/7217558.html,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
前端开发 JavaScript API
React团队回应用Vite替换Create React App的建议
React团队回应用Vite替换Create React App的建议
|
7天前
|
安全 Java 数据挖掘
当 App 有了系统权限,真的可以为所欲为? Android Performance Systrace
当 App 有了系统权限,真的可以为所欲为? Android Performance Systrace 转载自: https://androidperformance.com/2023/05/14/bad-android-app-with-system-permissions/#/0-Dex-%E6%96%87%E4%BB%B6%E4%BF%A1%E6%81%AF
21 0
|
1月前
|
前端开发 安全 Linux
React Native 打包 App 发布 iOS 及加固混淆过程
本文将介绍如何使用 React Native 打包并发布 iOS 应用到 App Store,并介绍了如何进行应用的加固和混淆过程。
|
1月前
|
JavaScript Android开发
Cordova 后台运行 Android APP
Cordova 后台运行 Android APP
|
2月前
|
物联网 Android开发
Android Ble蓝牙App(七)扫描过滤
Android Ble蓝牙App(七)扫描过滤
|
2月前
|
物联网 Android开发
Android Ble蓝牙App(四)UI优化和描述符
Android Ble蓝牙App(四)UI优化和描述符
|
2月前
|
传感器 监控 物联网
Android Ble蓝牙App(三)特性和属性
Android Ble蓝牙App(三)特性和属性
|
2月前
|
物联网 API Android开发
Android Ble蓝牙App(一)扫描(下)
Android Ble蓝牙App(一)扫描(下)
|
2月前
|
XML 物联网 Android开发
Android Ble蓝牙App(一)扫描(上)
Android Ble蓝牙App(一)扫描(上)
|
2月前
|
Web App开发 JSON Android开发
【Android App】实战项目之仿微信的视频通话(附源码和演示 超详细必看)
【Android App】实战项目之仿微信的视频通话(附源码和演示 超详细必看)
45 0

相关产品

  • 云迁移中心