ReactNative打包生成APK

1,839 阅读2分钟

一、生成一个签名密钥

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

命令运行过程中需要输入一些信息,内容如下:

除了密匙库口令,也就是签名密码之外,其它信息都无关紧要,乱填的。

注:
1、keytool 是JDK里边的一个命令,位于C:\Program Files\Java\jdk1.8.0_161\bin目录下;
2、命令中的"netease-release-key"和"netease-key-alias"是自己起的名字(我做的项目是网易新闻APP所以起名netease),这两个名字需要记住,在后面安卓配置文件里会用到。
3、命令最后的"10000"指生成的密匙有效期为10000天。
4、命令执行完后会在命令执行的当前目录下生成"netease-release-key.keystore"文件。

二、把netease-release-key.keystore文件放到你工程中的android/app文件夹下。

三、修改android目录下的gradle.properties文件

在文件中添加以下代码:

MYAPP_RELEASE_STORE_FILE=netease-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=netease-key-alias
MYAPP_RELEASE_STORE_PASSWORD=123456
MYAPP_RELEASE_KEY_PASSWORD=123456

注: netease-release-key和netease-key-alias就是第一步命令中自己起的名字,至于123456是我的密匙口令。

三、添加签名到项目的gradle配置文件

编辑项目目录下的android/app/build.gradle,添加如下的签名配置:

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 {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
			signingConfig signingConfigs.release
        }
    }

红框框中的都是需要添加的,其它地方都不用改动。

四、生成APK文件

进入项目中的android目录下,运行命令:

gradlew assembleRelease

当看到 "BUILD SUCCESSFUL"字样时,说明构建完成。生成的.APK文件位于项目目录下的android\app\build\outputs\apk文件夹中。

五、其它

gradlew assembleRelease 打包生成APK文件

gradlew installRelease 安装APK到手机

gradlew clean 清理上次的打包文件

这三个命令都需要进入到项目中的android目录下才能运行。

我的ReactNative版本是0.54.2。。如果需要修改的文件你的项目目录下没有的话,需要自行创建文件再添加相关代码。