(Android)react-native签名打包

来源:互联网 发布:测孕软件 编辑:程序博客网 时间:2024/06/04 19:48

官网地址:http://reactnative.cn/docs/0.49/signed-apk-android.html#content

结合网上他人的例子,亲测可以。

1、生成一个签名密钥

自己新建一个文件夹运行cmd命令窗口运行下面代码,将生成的keystore文件保存好。

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

my-release-key.keystore:文件名

my-key-alias:别名

这两个文件修改一下。修改自己想要修改的名字即可。

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

3、(该步在新的react-native版本中不执行也是可以的。)在工程目录下将index.android.bundle下载并保存到assets资源文件夹中

具体的操作步骤为:在项目根目录下打开命令窗口执行如下代码(curl从网上下载,将curl.exe放到项目的根目录下)

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

提示1确保服务器启动,启动服务器:

react-native start

提示2:  gradle的版本要和项目的版本一样。查看版本

gradle -v

项目的gradle版本查看,是打开项目根目录下的\android\gradle\wrapper\gradle-wrapper.properties

比如说:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip

那版本就是2.14.1

4、添加gradle的android keystore配置

在项目根目录下的\android\app\build.gradle文件中

//签名  signingConfigs{      release {          storeFile file("/my-release-key.keystore")          storePassword "密码"          keyAlias "keyAlias的名字"          keyPassword "密码"      }  }   buildTypes {      release {          minifyEnabled false          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'          signingConfig signingConfigs.release //添加这句话引用签名配置      }  }  
5、启用Proguard代码混淆来缩小APK文件的大小

def enableProguardInReleaseBuilds = true

(PS:本人的项目中由于用到了百度地图和百度地图导航,当执行代码混淆后app运行不起来,正在找解决办法)

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或ma 的是$GRADLE_HOME/bin)加到PATH的环境变量。

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

7、将apk发布到各大应用市场(BUILD SUCCESSFUL)





原创粉丝点击