1. 程式人生 > >Androidstudio 不執行直接編譯生成apk檔案

Androidstudio 不執行直接編譯生成apk檔案

Android studio 利用gradle快速編譯出apk

   有兩句話,在程式界的大家一定聽過:站在巨人的肩膀上和不要重複發明輪子。這兩句話的意思大家相信很清楚了,不解釋。很多時候我們學習或者程式設計,都會在網路上下載一些demo來作參考學習所用。如果,博主有著很好的分享的精神,那麼我們下來的demo那應該是完整的,匯入工程可以用,在工程包裡面也會有相應apk可以直接裝到手機裡面看效果。

   但是呢,有時候我們下載的demo偏偏是會沒有apk來看效果的。或者是不完整的demo,那麼我就沒辦法了,只能去

問問博主了。或者另找了。

   在這之前,我們首先要進行gradle 環境變數的配置,很簡單,就像配置jdk的環境變數一樣。我們要找到在C:\Users\Administrator\.gradle\wrapper\dists\gradle-2.4-all\6r4uqcc6ovnq6ac6s0txzcpc0\gradle-2.4/ 的根目錄下 (因為我用的是gradle 2.4版本的,一般來說都是用最新的gradle 版本了)。然後將根目錄的路徑複製下來。

   再右鍵 我的電腦 ---》屬性 ---》左邊有個:高階系統設定 ---》高階 ---》環境變數 ---》系統變數 選項中 ---》新建 --》變數名:GRADLE_HOME,變數值:你複製的gradle 最高版本的gradle 根目錄 ---》確定。

   再在 系統變數 選項中 ---》找到:path 系統路徑 ---》在變數值最後加入:%GRADLE_HOME%/bin (因為在bin資料夾下才有gradle.bat 可執行檔案)---如果加入之前的系統路徑最後沒有“;”,要記得加入----》確定。

   在windows開始選單中,輸入cmd,開啟dos桌面,輸入:gradle -v,回車。如果出現下面的結果,就大功告成了。圖片:


   然後來到我們要講的主題。

   找到demo後,我們首先肯定是要先看看效果符不符合我們學習工作的需要了。否則的話就是浪費時間了。如果demo中沒有apk包,那我們有兩種方式開生成一個apk:1)開啟Android studio將demo導進去,2)利用gradle來編譯生成;

    對於第一種,是比較笨的方法,因為我們知道Android studio開啟的速度還是挺慢挺卡的,說不定要等上半天時間。所以我們要使用第二種簡便點的方式。

   下面我就來介紹用gradle來生成apk的方式。

   首先,我們要先來了解下什麼是gradle?Gradle是一種依賴管理工具,基於Groovy語言,面向

Java應用為主,它拋棄了基於XML的各種繁瑣配置,取而代之的是一種基於Groovy的內部領域特定(DSL)語言。

   那麼gradle有什麼用呢?

   功能:
1、對多工程的構建支援很出色,工程依賴是gradle的第一公民。
2、支援區域性構建。
3、支援多方式依賴管理:包括從maven遠端倉庫、nexus私服、ivy倉庫以及本地檔案系統的jars或者dirs
4、是第一個構建整合工具(the first build integration tool),與ant、maven、ivy有良好的相容相關性。
5、輕鬆遷移:gradle適用於任何結構的工程(Gradle can adapt to any structure you have.)。你可以在同一個開發平臺平行構建原工程和gradle工程。通常要求寫相關測試,以保證開發的外掛的相似性,這種遷移可以減少破壞性,儘可能的可靠。這也是重構的最佳實踐。
6、的整體設計是以作為一種語言為導向的,而非成為一個嚴格死板的框架。
7、免費開源

   說白了,gradle就是Android程式的一個依賴包,沒有它我們的專案就搭建不起來。

   好了,再回到主題。

   在我們下好的demo中,如果demo是用Android studio來構建的,那麼它的apk放在 demo根目錄/app/build/outputs/apk/ 的目下,我們可以看到有一個debug和unsigned的apk版本。如果是Eclipse來構建的專案,則其apk檔案在 demo根目錄/bin/ 資料夾下就可以看到了。

   如果outputs/下沒有apk檔案,所以我們要重新編譯一個出來,具體的做法是:

   在專案的根目錄下,我們可以看到一個gradlew.bat 的檔案,這個就是我們要執行的檔案程式。

   圖片:


   1、在--首次--呼叫gradle時,(注:不是首次使用,直接跳到步驟3)我們在demo根目錄下的windows窗體中,輸入cmd,回車,開啟dos介面。然後輸入: gradle -v 命令,回車。這一步驟主要是檢查專案所用到的gradle的版本。

    但是有一個問題,如果gradle的版本不對,那麼他就要線上的下載。這個過程是比較慢的,因為它要到官網上去下載,你懂的。期間它會一直的用“...”來走。這個不用擔心。

圖片:


   最後成功時,出現的頁面時這樣的。

   圖示:



   2、然後我們鍵入:gradle clean 命令。此命令的主要作用是去下載一些gradle的下載包。成功的截圖如下:

  它會有一個BUILD SUCCESSFUL 的成功標誌。下面是執行命令的用時長。

   3、最後我們鍵入:gradle build 命令,回車。然後就等著命令執行,這個過程要用到一到兩分鐘的時間。執行截圖:

   如果完成了,它也會有BUILD SUCCESSFUL 成功的標誌。如下圖:


   最後,我們就到上面說到的apk存放的資料夾下去找,專案根目錄/app/build/outputs/apk/ 資料夾下。這是我們可以看到outputs資料夾下有3個的apk檔案,分別是app-debug、app-debug-unaligned 和 app-release-unsigned 標誌的apk檔案。(在Android studio 正常生成的是隻有2個:app-debug 和 app-release-unsigned)。圖片:

其中app-release-unsigned.apk是不可以安裝到手機去的,我個人猜想是因為這個apk檔案還沒有簽名,也不是debug版本,作業系統不認識它,所以拒絕讓它安裝。

   到此,我們利用gradle來快速編譯生成apk,然後就可以裝到手機上去檢視效果圖了。

   如有差錯,請各位看官指正,謝謝!