React-native windows 安卓 打包
1.注意:生成簽名金鑰過程中不要用中文
官網連結:
http://reactnative.cn/docs/0.44/signed-apk-android.html#content
2.生成一個簽名金鑰
你可以用keytool命令生成一個私有金鑰。在Windows上keytool命令放在JDK的bin目錄中(比如C:\Program Files\Java\jdkx.x.x_x\bin),你可能需要在命令列中先進入那個目錄才能執行此命令。
$ keytool -genkey -v -keystore my-release-key.keystore -aliasmy-key-alias -keyalg RSA -keysize
這條命令會要求你輸入金鑰庫(keystore)和對應金鑰的密碼,然後設定一些發行相關的資訊。最後它會生成一個叫做my-release-key.keystore的金鑰庫檔案。
在執行上面這條語句之後,金鑰庫裡應該已經生成了一個單獨的金鑰,有效期為10000天。--alias引數後面的別名是你將來為應用簽名時所需要用到的,所以記得記錄這個別名。
注意:請記得妥善地保管好你的金鑰庫檔案,不要上傳到版本庫或者其它的地方。
2.設定gradle變數
設定gradle變數
1. 把my-release-key.keystore檔案放到你工程中的android/app資料夾下。
2. 編輯
注意:~表示使用者目錄,比如windows上可能是C:\Users\使用者名稱,而mac上可能是/Users/使用者名稱。
MYAPP_RELEASE_STORE_FILE=my-release-key.keystoreMYAPP_RELEASE_KEY_ALIAS=my-key-aliasMYAPP_RELEASE_STORE_PASSWORD=*****MYAPP_RELEASE_KEY_PASSWORD=*****
上面的這些會作為全域性的gradle變數,我們在後面的步驟中可以用來給應用簽名。
關於金鑰庫的注意事項:
一旦你在Play Store釋出了你的應用,如果想修改簽名,就必須用一個不同的包名來重新發布你的應用(這樣也會丟失所有的下載數和評分)。所以請務必備份好你的金鑰庫和密碼。
提示:如果你不想以明文方式儲存密碼,同時你使用的是macOS系統,那麼你也可以把密碼儲存到鑰匙串(Keychain)中。這樣一來你就可以省略掉上面配置中的後兩行(即MYAPP_RELEASE_STORE_PASSWORD和MYAPP_RELEASE_KEY_PASSWORD)。
3添加簽名到專案的gradle配置檔案
編輯你專案目錄下的android/app/build.gradle,新增如下的簽名配置:
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
4.生成發行APK包
只需在終端中執行以下命令:
$ cd android && ./gradlew assembleRelease
譯註:cd android表示進入android目錄(如果你已經在android目錄中了那就不用輸入了)。./gradlew assembleRelease在macOS和Linux系統中表示執行當前目錄下的名為gradlew的指令碼檔案,執行引數為assembleRelease,注意這個./不可省略;而在windows命令列下則需要去掉./。
Gradle的assembleRelease引數會把所有用到的JavaScript程式碼都打包到一起,然後內建到APK包中。如果你想調整下這個行為(比如js程式碼以及靜態資源打包的預設檔名或是目錄結構等),可以看看android/app/build.gradle檔案,然後琢磨下應該怎麼修改以滿足你的需求。
生成的APK檔案位於android/app/build/outputs/apk/app-release.apk,它已經可以用來發布了。
5.測試應用的發行版本
在把發行版本提交到Play Store之前,你應該做一次最終測試。輸入以下命令可以在裝置上安裝發行版本:
$ cd android && ./gradlew installRelease
注意installRelease引數只能在你完成了上面的簽名配置之後才可以使用。你現在可以關掉執行中的packager了,因為你所有的程式碼和框架依賴已經都被打包到apk包中,可以離線運行了。
在debug和release版本間來回切換安裝時可能會報錯簽名不匹配,此時需要先解除安裝前一個版本再嘗試安裝。
6.啟用Proguard程式碼混淆來縮小APK檔案的大小(可選)
Proguard是一個Java位元組碼混淆壓縮工具,它可以移除掉React Native Java(和它的依賴庫中)中沒有被使用到的部分,最終有效的減少APK的大小。
重要:啟用Proguard之後,你必須再次全面地測試你的應用。Proguard有時候需要為你引入的每個原生庫做一些額外的配置。參見app/proguard-rules.pro檔案。
要啟用Proguard,設定minifyEnabled選項為true:
/**
* 在release發行版中啟用Proguard來減小 to shrink the Java bytecode in release builds.
*/def enableProguardInReleaseBuilds =true
相關推薦
React-native windows 安卓 打包
1.注意:生成簽名金鑰過程中不要用中文 官網連結: http://reactnative.cn/docs/0.44/signed-apk-android.html#content 2.生成一個簽名金
react-native-echarts 安卓版打包後,圖表不顯示
1、相容手機端 <meta name="viewport" content="width=device-width, initial-scale=1"> 2、解決android打包後不顯示 複製檔案tpl.html(路徑: node_mod
React-Native與安卓原生的混合開發
寫在前面 目前很多大廠APP(如淘寶、餓了麼、美團等等)並不是純原生Android&IOS,也不是純JS開發,而是Hybird APP開發,混合型優勢很多:比如熱更新,保證在一些類似雙十一的活動到來時能夠快速上線活動頁面,使用者不必再去更新APP。再來有效地減小了安裝包的體積
React Native學習安卓手機上的返回鍵BackAndroid
使用 React Native開發,iOS搞完,開始適配安卓,由於木有接觸過安卓,所以碰到了很多問題,第一個問題,安卓的返回鍵BackAndroid問題,我寫了一個工具類,來搞定,其中用到了java原
react native 修改安卓Switch顏色樣式
最近在使用Switch控制元件的時候。官方文件是這樣的 <Switch value={(this.state && this.state.switchValue) || false} onVal
react-native-wechat安卓點選登入沒有回撥問題
專案中難免會用到第三方登入和分享,本專案中微信登入使用的第三方元件:# react-native-wechat 使用 yarn a
win7下react-native安卓打包踩坑
util 根目錄 2.x exce com tco 解決 研究 sig 都說工具使我們使用更加方便,然而最近研究React-native打包還有webpack這些工具,真是一把心酸一把淚。感覺這些開發工具對window系統十分不友好,外國佬都是都在用mac系統的土豪。 言歸
react-native安卓打包過程
本文使用的react-native版本為0.55 1.進入工程目錄 ,生成打包的簽名祕鑰 keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysi
react native 安卓打包--mac環境,如果打包不成功可註意下my-release-key.keystore的位置關系(絕對路徑)
項目 雙引號 添加 star ica local strong pre mos // my-release-key.keystore和my-key-alias都是可修改的名稱 1.生成簽名密鑰(keytool -genkey -v -keystore my-release
react native windows下打包apk流程
自己的 apk min 代碼 技術 環境 store 顯示 str 1、生成一個簽名密碼 keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysi
Cocos2d-x: 安卓打包問題 “ GoogleAPIs:21 不是一個有效的 Android 目標平臺 ”
一個 androi 發生 cocos2 api clip strong googl color 問題:GoogleAPIs:21 不是一個有效的 Android 目標平臺。 產生原因:這是由於使用Eclipse運行Android項目後, 項目的bulid Targe
jenkins 安卓打包生成二維碼下載
java ken code .cn qrcode cau pass textarea buffers 先來張圖看看吧 構思 jenkins gradle 打包apk文件,python myqr 模塊生成二維碼 放入nginx 訪問圖片的路徑,apk安裝包放在
react-native windows系統 紅屏報assets缺失 500錯誤
包管理器 tput asset code div 兼容 執行 較差 pla 指定版本,react-native是facebook用mac系統開發的,windows系統兼容較差,新版本更是問題很多, 相對老版本更加穩定 react-native init demo -
unity安卓打包——說明——轉載
隨著Unity、cocos2dx等優秀跨平臺遊戲引擎的出現,開發者可以把自己從繁重的Android、iOS原生臺開發中解放出來,把精力放在遊戲的創作。原來做一款跨平臺的遊戲可能需要開發者懂得Java、Objective-C、C#甚至是C、C++,現在藉助Unity我們開發者只需要懂得很少的原生應用開
【UE4】 第02講 安卓打包
安卓打包這個簡直是UE4開發的終極魔鬼問題,原因就是完全不清楚Epic這一部分是怎麼實現的,所以根本沒什麼辦法理解問題產生的根源在哪裡。到目前為止已經兩次重灌Win8.1 64位 企業版,VS2015 32位 企業版,原來的Win7 64位 旗艦版,VS2013 專業
CocosCreator之KUOKUO分享安卓打包成功過程(3)
很多小夥伴卡在了安卓打包的過程,被折磨的欲仙欲死,面對小夥伴的一些問題,有時候我也感覺莫名其妙的,console.log(滑稽)。 今天我把自己成功打包的過程詳細滴發一遍,供大家參考。O(∩_∩)O~~ 電腦Windows10,64位 CocosCreator引擎版本v2.0.5 然
UE4 安卓打包紋理格式選擇
原文:https://docs.unrealengine.com/en-us/Platforms/Android/Reference 此處擷取翻譯: Android紋理格式 並非所有Android裝置都是相同的。特別是,有4種不同的渲染硬體。它們各自支援不同格式的壓
安卓打包名稱
開始自定義打包名會報錯 因為版本問題 3.0之後在build.gradled android {} 中新增//配置自定義打包名稱applicationVariants.all { variant -> variant.outputs.all { def fileName
React Native釋出APP之打包iOS應用
瞭解更多,可學習《React Native視訊教程》 ,或關注我的GitHub和加入: React Native學習交流群 用React Native開發好APP之後,如何將APP釋出以供使用者使用呢?一款APP的釋出流程無外乎:簽名打包—>釋出到各s
UE4 縮小安卓打包體積(翻譯自官方文件)
減少APK包大小 無論您的UE4專案針對哪種型別的Android裝置,將Android應用程式包(APK)的大小減小到Google Play商店的50MB限制都可能具有挑戰性。在以下指南中,我