windows下react-native android打包筆記

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

更多視頻查看 點我

相關文章
相關標籤/搜索