轉(zhuǎn)自:https://blog.csdn.net/Niteip/article/details/69937335 用Egret開發(fā)的過程比較輕松,當我開始打包 & 熱更時,遇到了巨量的問題 本文是Android打包教程,旨在講解Egret打包Android的過程中,各種配置該怎么改,還有一些坑的解釋 1 綜述Wing插件里的發(fā)布Android是有問題的,最好用命令行 打包Android就是把原生的HTML5游戲,轉(zhuǎn)為Android項目,再用Android Studio(簡稱AS)生成APK 官方現(xiàn)在偏向使用Android Studio,原因很多,在此不贅述 配置環(huán)境安裝Android Studio,我選擇2.2.3版本 安裝好后,增加系統(tǒng)環(huán)境變量:ANDROID_HOME 路徑是你的Android Sdk路徑 接著在系統(tǒng)變量Path里增加:
配置好后你就可以在cmd里使用adb命令了,如果不行,請檢查配置(下同)。 接著配置gradle,AS 2.2.3自帶gradle 2.14.1,該版本是二。十四,比2.8要高,回想最開始我在這個版本這里被坑了幾個小時 新建系統(tǒng)環(huán)境變量:GRADLE_HOME 路徑是 你的Android Studio目錄\gradle\gradle-2.14.1 接著在系統(tǒng)變量Path里增加:
最好重啟計算機,然后就可以在cmd里使用gradle命令了 然后配置java的環(huán)境變量: 參考http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html 配置好后就可以在cmd里使用javac命令了 接著配置AS,因為AS默認用戶的網(wǎng)絡(luò)環(huán)境很好,隨時都想聯(lián)網(wǎng)下東西,還想連外國的服務(wù)器,國內(nèi)有墻,所以幾乎不行 先干掉Android first run: 參考:http:///2015/05/06/android-studio/ 然后告訴AS我想要進入離線模式: 開始打包現(xiàn)在回到Wing,在終端輸入
其中,wonder是你的項目的名字,-f是項目路徑(我就是當前),-t是你的support模版路徑 看下官方給的support里包含什么 __MACOSX、egret-android-support-4.0.3 和 egret-android-support-as-4.0.3 帶“as”的就是Android Studio項目模版,不帶的是其他工程(比如eclipse)的模版 生成好后,打開AS,點擊導入工程: 選擇proj.android 你極有可能會卡在這里 這是因為AS嘗試去下載gradle,下載的版本是由項目配置而定的,這個是基本下不動的,所以我們要指定項目配置用gradle 2.14.1: 找到 你的Android項目\proj.android\gradle\wrapper\gradle-wrapper.properties 內(nèi)容大概如下:
最后一行就是項目使用的gradle,Support 4.0.3默認使用的2.8,我們改為
重新進,現(xiàn)在就能進去了 修改工程屬性開始修改配置,注意,所有的項目配置最終都是改的代碼,這些代碼在配置文件里,本文只介紹可視化的修改方法 Android Plugin用2.2.3,因為2.2.3可以使用Instant Run 選擇Sdk Version和Build Tool 我們?yōu)榱思嫒莞嗟挠脩簦ㄍ婕遥┑臋C型,肯定選擇稍微低一點的版本比較好,所以 教你怎么離線安裝Sdk和build Tool。 你極有可能遇到這個錯: 這是因為AS把你的top-level build.gradle 改錯了,我覺得這是AS的bug 來看下工程結(jié)構(gòu) 一個工程只有一個Top-level,有多少個項目就有多少個Module-Level Module-Level gradle里,大概像這樣:
而Top-level gradle里,不能有Android{}標簽,檢查下,你的Top-Level里應(yīng)該是寫錯了,將之刪除 好了,現(xiàn)在在終端輸入:
開始編譯,如果是第一次編,有可能需要去下jcenter,這時等下吧。 我的公司環(huán)境是內(nèi)網(wǎng)完全不能聯(lián)網(wǎng),怎么辦? 1.用mavenLocal 先解釋下:
在完全不能聯(lián)網(wǎng)的環(huán)境,我可以使用AS自帶的maven倉庫,步驟如下: 先找到 C:\Users\你的名字\ 新建文件夾,名字叫 .m2,在改名的時候你要輸入 .m2.,即前后都有點,共兩個點 然后進去,把 你的Android Studio目錄\gradle\ 里的m2repository全部拷過去,拷到 C:\Users\你的名字\.m2 然后將其改名為repository 然后在Project里,把Plugin和Library改為 mavenLocal,完成。 2.另一種辦法,就是把下載好的jcenter傳送進去 回到編譯上,你有可能會遇到lintOptions問題,照AS的提示,在app\build.gradle里加上
完成。 如果你是使用mavenLocal,你可能還會遇到 could not found junit 4.12 如果你沒有跑測試用例的需求,那可以選擇把dependencies {}里
刪掉,同時還要刪掉這兩個文件夾,它們是用于編寫測試用例的 終于,編譯成功了,可以看到AS在 wonder\proj.android\app\build\outputs\apk\ 下生成了兩個apk 一個debug,一個沒簽名的release 先解釋下: Egret的debug和release概念和Android是有些不同的
至于怎么簽名,請看http:///questions/18328730/how-to-create-a-release-signed-apk-file-using-gradle 到這里,Android的打包就算完了 Egret的發(fā)布,請看這篇文章。(暫時沒寫) |
|
來自: 郭恩 > 《游戲經(jīng)驗》