1. 程式人生 > >用gradle手動編譯出android的簡單的apk檔案(gradle學習之路二)

用gradle手動編譯出android的簡單的apk檔案(gradle學習之路二)

     轉載請附上原文地址:  http://blog.csdn.net/strangenightmare/article/details/52233395     

     隨著gradle和AS佔據了一大片江山,ADT和ant已經被排擠到角落了有木有,去github上搜索個開原始碼都是清一色的xx.gradle,最頭疼的是整合Google的功能的時候,還得先用AS下載編譯依賴jar,然後拖動到eclipse裡面去用,還會出奇奇怪怪得問題。索性這兩天手頭的工作忙完了。一鼓作氣把gradle編譯apk的套路玩一玩,誰怕誰啊。放馬過來。把學習下的東西都記錄一下,願能幫到同樣在坑裡面的童鞋。不要吐槽我。我就是一個菜鳥而已。

     大家請自己準備好小板凳和西瓜,坐看我裝B啊。 (╬ ̄皿 ̄)凸

首先請配置好自己的環境。包括gradle 3.0的配置,sdk的配置,java環境的配置。這些我就不多說了。百度一搜一大把,我之前寫過一個gradle 3.0的配置,可以先去折騰好再來看。傳送門:gradle環境變數的配置3.0版(gradle學習之路一)

     接下來請準備好一個Android工程。就是從eclipse出品的那種經典目錄結構。就像下面這樣式的。嘎嘎。

     接下來我們說一下gradle編譯需要的格式,需要兩個build.gradle和一個settings.gradle,這種適合以後主工程依賴子工程這種套路的玩法。如果你就一個主工程寫,那麼一個build.gradle和一個setting.gradle就夠了。換湯不換藥,其實就是把兩個合在一起了而已。我這裡採用了第一種玩法。工程結構如下圖


     你們一定會懵逼,哎呀窩草,那個gradle和gradlew是哪來的。這個超級簡單我跟你們說。現在目錄結構是/project/你的工程。你用終端到/project這一級目錄下直接執行gradle init命令。稍等片刻就都有了。哈哈。不明覺厲是不是。但是這樣生成的build.gradle是空的。我把我的這個工程帶打包的build.gradle指令碼放到git上去,你們去clone下來,把裡面的build.gradle替換一下剛才你生成的空白的指令碼檔案,把settings.gradle裡面的包名改成你的工程名, 把modul級別的build.gradle裡面的applicationId的值改成你的包名就可以了。


     準備完畢之後,到project級目錄下輸入gradle clean,gradle就會自動去下載gradlew的元件了。下載完畢後會自動clean環境,完成後如下圖

     然後就可以輸入編譯命令編譯了。編譯命令是:gradle build. 編譯完成後顯示BUILD SUCCESSFUL之後,就可以在下圖的目錄裡找到debug包了。


     如果你想打Release簽名包,把簽名檔案放在工程下,在module級別的build.gradle裡面android標籤下加入

    signingConfigs {
        MyReleaseSign {
            storeFile file("簽名檔名")
            storePassword "簽名庫密碼"
            keyAlias "簽名別名"
            keyPassword "簽名密碼"
        }
    }
然後在buildType下面的Release標籤下加入signingConfig  signingConfigs.MyReleaseSign

     然後使用打包命令就可以打包了,多說一下,你如果想看gradle能使用的打包命令有哪些。輸入gradle tasks就可以看到gradle支援的打包命令了。比如你要打Release包,你就輸入gradle assembleRelease 就可以只打簽名包了。要是想直接安裝手機上就輸入gradle clean assembleRelease installRelease就可以在打包完畢後自動裝到手機上了。這個工程我會放到我的git上面,上面提到的build.gradle和setting.gradle都會在這個工程裡。

     這一次我先記錄到這裡,至於那個build.gradle我下次會單獨說明一下的。

     這個例項工程的git地址: http://git.oschina.net/coolnan/LearnGradle

相關推薦

gradle手動編譯android簡單apk檔案(gradle學習)

     轉載請附上原文地址:  http://blog.csdn.net/strangenightmare/article/details/52233395           隨著gradle和

VS2017無法編譯QT專案UI檔案UI_XXXX.h“的解決方案

QT有一些示例程式碼, 這些程式碼大多沒有UI檔案。在用VS的QT VS TOOLS 匯入這些示例專案後,工具會根據QT的專案檔案.pro中是否使用了UI,來建立VS2017的專案屬性頁,因為這些例子程式碼沒有用到UI,開啟專案的屬性頁,和QT相關的配置專案只有下面2項。假如

Android 音視訊深入 七 學習的總結和資料分享

說個實話一開始我對基於Android如何開發音視訊很迷茫,甚至對音視訊開發都不是很明白,我看了Android 音視訊開發入門指南 http://blog.51cto.com/ticktick/1956

Qt學習——一個簡單的計算圓的面積程式

一、使用ui編輯器來佈局計算面積的一些控制元件我們新建一個專案,專案名稱為CalArea。並且勾選建立圖形介面,基類選擇QWidget然後我們將我們需要的一些控制元件拖到中間的區域,這個區域就是將要設計的頂層視窗部件。我們這個計算面積的小程式需要兩個QLabel 類的控制元件

window環境下使用ndk編譯android studio/Eclipse能使用的ffmpeg動態庫

window環境下使用ndk編譯出android studio 能使用的ffmpeg動態庫 目錄 ffmepg介紹 FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。採用LGPL或GPL許可證。它提供了錄製、轉

Android 自動編譯、打包生成apk檔案 1

一、搭建搭建環境 1. 安裝JDK 和 Android SDK 2. 配置環境變數D:\android-sdk-windows\toolsC:\Program Files\Java\jdk

【轉】將HTML5封裝成android應用APK 檔案若干方法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

將HTML5封裝成android應用APK 檔案若干方法

這裡寫自定義目錄標題 新的改變 功能快捷鍵 合理的建立標題,有助於目錄的生成 如何改變文字的樣式 插入連結與圖片 如何插入一段漂亮的程式碼片 生成一個適合你的列表 建立一個表格 設定內

Android逆向 APK檔案組成

  一 瞭解APK檔案   我們知道Android系統能執行的程式是.apk檔案格式,其實它就是一個壓縮包而已,把.apk修改成.zip,然後解壓就可以得到該apk內部的檔案結構。 PS: 既然可以把apk檔案改成zip解壓,能不能再把這些檔案壓縮成zip格式,再修改成apk檔案安裝到手機裡呢

Error:Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2). Searched i

今日寫程式碼時,更新完大佬的程式碼後,出現了一個錯誤,描述如下: Error:Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2). Searched in the following

html5 如何打包成apk,將H5封裝成android應用APK檔案的幾種方法

直接使用程式設計軟體提供的方法: 1、需要下載安裝MyEclipse2014,Android SDK,eclipse(需配置Android開發環境) Java和Android環境安裝與配置。 2、開啟MyEclipse2014,新建一個HTML5 Mobile Ap

Android開發學習--RxAndroid簡單原理

  學習了RxAndroid,其實也就是RxJava了,但是還是不是非常清楚到底RxAndroid有什麼用呢?為什麼要使用RxAndroid呢?這篇文章講得不錯,RxJava的原理。但是這裡還是把整個過

.Net Core 2.0 程式 ,編譯exe可執行檔案方法

.Net Core 2.0 程式 用vs生成後無exe啟動項,如果需要生成exe執行檔案可以: 1.修改專案的csproj檔案內容 原始: <PropertyGroup> <OutputType>Exe</OutputType> <

解決:Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2).

 這是個之前遇到的問題,後邊改過之後,有遇到了,再次記一下這個錯誤。 網上很多朋友說是跟目錄的build.gradle中的allprojects{...}裡面寫上google(),但是我發現裡面寫了的,還是不管用 我的順序: repositories { jc

android獲取APK檔案,及應用內部簽名信息方法

1.獲取APK的簽名信息 private String showUninstallAPKSignatures(String apkPath) { String PATH_PackageParser = "android.content.pm.PackageParser";

Android開發學習--Android Studio cmake編譯ffmpeg

  最新的android studio2.2引入了cmake可以很好地實現ndk的編寫。這裡使用最新的方式,對於以前的android下的ndk編譯什麼的可以參考之前的文章:Android開發學習之路–NDK、JNI之初體驗。 1.ffmpeg編譯  

Android學習------自定義控制元件,圓形進度條的簡單實現

簡單介紹 主要是通過自定義一個view類,然後通過操作canvas和paint進行效果的實現 Step 1 新建一個attr.xml,這裡主要是為了自定義我們的控制元件屬性,attr開頭的語句表示控制元件的自定義屬性,在這裡為了實現圓形進度條,定義了一

Gradle離線配置、.android、.AndroidStudio、.gradle、.m2快取資料夾路徑修改

build.gradle repositories { maven { url 'https://maven.google.com' // Alternative URL is 'https://dl.googl

Linux學習 -- 簡單日常使用命令

簡單 日誌 reboot logs netstat oca yum a.out mysql tail -f catalina.out #在 logs 下面查看日誌( -f 實時查看) rm -rf /var/log/httpd/access

Android 四大組件學習ContentProvider

gravity over mod cti parse rec 自己的 fontsize activit 上節學習了什麽是ContentProvider。以及ContentProvider的作用。以及什麽是URL。本節就對上節學習的知識做一個實踐,也就是定義自己的Co