React-Native之打包發布(Android)


React-Native之打包發布(Android)

一,介紹與需求

 移動端打包發布到應用市場

二,發布配置

注意:以下所有操作都在win10下進行,React Native版本0.59.5,android-studio 版本 3.2

1,生成簽名

1 keytool -genkey -v -keystore app.keystore -alias yingqi -keyalg RSA -keysize 2048 -validity 10000

附加說明:

-genkey    生成文件 

-keystore  文件名 

-alias         別名

-keyalg     加密算法

-validity    有效期(單位是天) 

輸入如上命令以后,出現以下步驟:

注意:輸入密鑰庫口令【很重要,要記住】

生成的的keystore文件默認是在項目的根目錄中,如下圖所示:

 

2,在gradle文件中添加簽名配置

把app.keystore文件放到你工程中的android/app文件夾下。

打開編輯項目目錄下的android/app/build.gradle文件,添加如下的簽名配置:

 1 ...
 2 android {
 3     ...
 4     defaultConfig { ... }
 5     signingConfigs {
 6         release {
 7             keyAlias 'yingqi' //別名
 8             keyPassword '123456' //密鑰密碼 之前設置秘鑰口令
 9             storeFile file('app.keystore') //my-release-key.keystore文件的絕對路徑
10             storePassword '123456' //存儲密碼
11         }
12     }
13     buildTypes {
14         release {
15             ...
16             minifyEnabled enableProguardInReleaseBuilds // 在 當前文件中,找到變量 enableProguardInReleaseBuilds ,將其值修改為 true
17             signingConfig signingConfigs.release // 引用簽名
18         }
19     }
20 }
21 ...

 3,修改應用名稱

打開編輯項目目錄下的android/app/src/main/res/values/strings.xml文件,修改名稱

 4,修改應用icon

將如下文件夾中的icon替換成需要修改的圖標即可,注意icon大小保持一致

 5,代碼混淆

啟用Proguard代碼混淆來縮小APK文件的大小(保護源代碼,縮小APK包大小)
Proguard是一個Java字節碼混淆壓縮工具,它可以移除掉React Native Java (和它的依賴庫中)中沒有被使用到的部分,最終有效的減少APK的大小。
重要:每次啟用Proguard之后,必須再次全面地測試你的應用。Proguard有時候需要為你引入的每個原生庫做一些額外的配置。參見app/proguard-rules.pro文件。

在android/app/build.gradle文件中,找到enableProguardInReleaseBuilds然后修改def enableProguardInReleaseBuilds = true

 6,打包命令配置

1   "scripts": {
2     "start": "node node_modules/react-native/local-cli/cli.js start",
3     "bundle-ios": "node node_modules/react-native/local-cli/cli.js bundle --entry-file index.js  --platform ios --dev false --bundle-output ./ios/main.jsbundle --bundle-encoding utf8 --assets-dest ./ios",
4     "bundle-android": "cd ./android && ./gradlew assembleRelease",
5     "bundle-win-android": "cd android && gradlew assembleRelease",
6     "test": "jest"
7   },

運行打包與成功效果


免責聲明!

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



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