react native 安卓打包

645 查看

生成密匙

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

上面的 my-release-key 这个名字可以自己取名,同时my-key-alias 也是自己取名,其中第二个名称 alias 参数后边的别名,在后面你在为应用签名的时候需要用到,所以暂时记录一下这个别名。

上面的命令我们需要输入密钥库 (keystore) 密码和对应秘钥的密码,然后设置名字,组织,国家,省份相关的信息,最后会生成my -release-key.keystore 的签名文件。

最后生成:my-release-key.keystor e文件在主目录上

然后把文件放在D:\reactNative\MyProject\android\app 路径下

Gradle配置

D:\reactNative\MyProject\android下的gradle.properties

gradle.properties 添加如下信息  原来的信息不用管

android.useDeprecatedNdk=true

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore

MYAPP_RELEASE_KEY_ALIAS=my-key-alias

MYAPP_RELEASE_STORE_PASSWORD=123456

MYAPP_RELEASE_KEY_PASSWORD=123456

D:\reactNative\MyProject\android\app下的build.gradle

build.gradle添加signingConfigs 在buildTypes 里面添加signingConfig signingConfigs.release

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

}

}

开始打包

D:\reactNative\MyProject\android下运行gradlewassembleRelease

gradlewassembleRelease运行后开始打包

最终放在:

D:\reactNative\MyProject\android\app\build\outputs\apk下的app-release.apk是打包好的APK

第二次打包注意

第二次打包的时候要删除掉...\android\app\src\main\res\asserts下面的两个文件

在模拟器运行

react-native start

另开一个服务react-native run-android (这里要注意删除掉\android\app\src\main\res\asserts下的文件 因为他们是你上次打包产生的 对你来说 能用到就只有APK 所以删除掉无所谓 第二次打包 还会生成这些文件)