看了东方耀老师的视频,跟着记下了如下笔记,其实和东方耀老师的课堂笔记差很少,增长了一点细节javascript
1. 生成一个签名密钥:html
在项目目录下运行java
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000react
注:my-release-key是文件名,my-key-alias是别名。android
最后会生成一个my-release-key.keystore的密钥库文件。react-native
2. 找到路径/android/app/src/main,并在该目录下新建assets文件夹(这个文件夹名字是固定的不能改,别问为啥,龟腚)app
3. 在工程目录下执行如下命令,目的是将 index.android.bundle下载并保存到assets资源文件夹中
curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundlecurl
提示curl命令不是内部*****? 答案在: http://www.cnblogs.com/xing901022/p/4652624.html工具
4. 添加gradle的android keystore配置(打包的apk在未签名的状况下,在手机中(非root)是不容许安装的)测试
在android/app/build.gradle文件中添加如下代码
signingConfigs { //通常加在defaultConfig后面 release { storeFile file("/my-release-key.keystore的路径") storePassword "密码" keyAlias "密钥别名" keyPassword "密码" } }
//注:
//a. storeFile file("D://project/React-Native-Project/TextProject/my-release-key.keystore") 里的路径能够是绝对路径,正斜杠,就像我写的这样
//b. keyAlias 别名
而后修改如下代码
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro' signingConfig signingConfigs.release //添加这句话引用签名配置 } }
5. 启用Proguard代码混淆来缩小APK文件的大小(保护源代码,缩小APK包)
Proguard是一个Java字节码混淆压缩工具,它能够移除掉React Native Java (和它的依赖库中)中没有被使用到的部分,最终有效的减小APK的大小。
重要:每次启用Proguard以后,必须再次全面地测试你的应用。Proguard有时候须要为你引入的每一个原生库作一些额外的配置。参见app/proguard-rules.pro文件。
在android/app/build.gradle文件中(第4步的文件),找到enableProguardInReleaseBuilds而后修改def enableProguardInReleaseBuilds = true
6. 在/android/目录中执行gradle assembleRelease命令,打包后的文件在android/app/build/outputs/apk目录中,例如app-release.apk。
若是打包碰到问题能够先执行grandle clean 清理一下。
安装grandle工具(版本与android\grandle\wrapper下的一致),并配置环境变量:添加环境变量GRADLE_HOME,值是grandle的根目录;而后把%GRADLE_HOME%/bin加到Path环境变量。
配置完成后运行 gradle -v 检查是否安装成功
7. BUILD SUCCESSFUL 发布apk到应用市场
东方耀视频360网盘地址 密码:05a4
更多视频查看 点我