且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

React Native App设置&Android版发布

更新时间:2022-09-13 19:14:17

 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

React Native App设置&Android版发布

2.设置应用名

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

React Native App设置&Android版发布

3.设置图标

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

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

React Native App设置&Android版发布

二、打包发布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天,执行界面如图:

React Native App设置&Android版发布

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=*****

如图:React Native App设置&Android版发布

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
 
        }
 
    }
 
}
 
...

如图:React Native App设置&Android版发布

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

如图:React Native App设置&Android版发布

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

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






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