react native 打包发布步骤

1.生产一个签名密钥

keytool -genkey -v -keystore my-release-key.keystore -alise

my-key-alias -keyalg RSA -keysize 2048 -validity 10000

keytool -genkey -v -keystore my-release-key.keystore -alias

my-key-alias -keyalg RSA -keysize 2048 -validity 10000

 

2.找到路径/android/app/src/main,并在该目录下新建assets文件夹

 

3. 在工程目录下将index.android.bundle下载并保存到assets资源文件夹中

curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/

assets/index.android.bundle

这句命令是重点,如果assets目录中不存在该文件,则打包到apk在执行时显示空白

或通过如下命令生成bundle文件

react-native bundle --platform android --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest  android/app/src/main/res/ --dev false

 

4,添加gradle的android keystore配置

在build.gradle文件中

//签名

signingConfigs{

  release{

    storeFile file("/my-release-key.keystore")

    storePassword "密码"

    keyAlias "keyAlias的名字"

    keyPassword "密码"

  }

}

buildTypes{

  release{

    minifyEnable false

    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    signingConfig signingConfigs.release //添加这句话引用签名配置

  }

}

 

5,启用Proguard代码混淆来缩小apk文件大小

Proguard是一个java字节码混淆压缩工具,它可以移除掉React Native java(和它的依赖库中)

没有被使用到的部分,最终有效减少apk大小。

重要:启用Proguard之后,必须全面测试应用。Proguard有时需要为你引入的每个原生库做一些额外的配置。

参见app/proguard-rules.pro文件。

def enableProguardInReleaseBuilds = true

 

6,在/android/目录中执行gradle assembleRelease命令,打包后的文件在/android/app/build/outputs/apk目录中,

例如app-release.apk.如果打包碰到问题,可以先执行gradle clean清理一下。

 

安装gradle工具(版本和android\gradle\wrapper下到一致),并配置环境变量,配置GRADLE_HOME到gradle根目录当中,

然后把%GRADLE_HOME%/bin(linux或mac是$GRADLE_HOME/bin)加到PATH的环境变量。

配置完之后,运行gradle -v,检查一下是否安装无误。

 

7,将apk发布到各大应用市场。

 

猜你喜欢

转载自222xiaohuan.iteye.com/blog/2304452