看了東方耀老師的視頻,跟着記下了如下筆記,其實和東方耀老師的課堂筆記差很少,增長了一點細節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
更多視頻查看 點我