看了東方耀老師的視頻,跟着記下了以下筆記,其實和東方耀老師的課堂筆記差不多,增加了一點細節
1. 生成一個簽名密鑰:
在項目目錄下運行
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
注:my-release-key是文件名,my-key-alias是別名。
最后會生成一個my-release-key.keystore的密鑰庫文件。
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
提示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
更多視頻查看 點我