windows下react-native android打包筆記


看了東方耀老師的視頻,跟着記下了以下筆記,其實和東方耀老師的課堂筆記差不多,增加了一點細節

 

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

更多視頻查看 點我


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM