移动端打包发布到应用市场node
注意:如下全部操做都在win10下进行,React Native版本0.59.5,android-studio 版本 3.2react
1 keytool -genkey -v -keystore app.keystore -alias yingqi -keyalg RSA -keysize 2048 -validity 10000
附加说明:android
-genkey 生成文件 ios
-keystore 文件名 算法
-alias 别名react-native
-keyalg 加密算法android-studio
-validity 有效期(单位是天) app
输入如上命令之后,出现如下步骤:工具
注意:输入密钥库口令【很重要,要记住】测试
生成的的keystore文件默认是在项目的根目录中,以下图所示:
把app.keystore文件放到你工程中的android/app文件夹下。
打开编辑项目目录下的android/app/build.gradle文件,添加以下的签名配置:
1 ... 2 android { 3 ... 4 defaultConfig { ... } 5 signingConfigs { 6 release { 7 keyAlias 'yingqi' //别名 8 keyPassword '123456' //密钥密码 以前设置秘钥口令 9 storeFile file('app.keystore') //my-release-key.keystore文件的绝对路径 10 storePassword '123456' //存储密码 11 } 12 } 13 buildTypes { 14 release { 15 ... 16 minifyEnabled enableProguardInReleaseBuilds // 在 当前文件中,找到变量 enableProguardInReleaseBuilds ,将其值修改成 true 17 signingConfig signingConfigs.release // 引用签名 18 } 19 } 20 } 21 ...
打开编辑项目目录下的android/app/src/main/res/values/strings.xml文件,修更名称
将以下文件夹中的icon替换成须要修改的图标便可,注意icon大小保持一致
启用Proguard代码混淆来缩小APK文件的大小(保护源代码,缩小APK包大小)
Proguard是一个Java字节码混淆压缩工具,它能够移除掉React Native Java (和它的依赖库中)中没有被使用到的部分,最终有效的减小APK的大小。
重要:每次启用Proguard以后,必须再次全面地测试你的应用。Proguard有时候须要为你引入的每一个原生库作一些额外的配置。参见app/proguard-rules.pro文件。
在android/app/build.gradle文件中,找到enableProguardInReleaseBuilds而后修改def enableProguardInReleaseBuilds = true
1 "scripts": { 2 "start": "node node_modules/react-native/local-cli/cli.js start", 3 "bundle-ios": "node node_modules/react-native/local-cli/cli.js bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/main.jsbundle --bundle-encoding utf8 --assets-dest ./ios", 4 "bundle-android": "cd ./android && ./gradlew assembleRelease", 5 "bundle-win-android": "cd android && gradlew assembleRelease", 6 "test": "jest" 7 },
运行打包与成功效果