日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Studio的gradle项目构建

發布時間:2025/3/20 Android 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Studio的gradle项目构建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【聲明】?

歡迎轉載,但請保留文章原始出處→_→?

生命壹號:http://www.cnblogs.com/smyhvae/

文章來源:http://www.cnblogs.com/smyhvae/p/4456420.html

?

【系列】

第一次使用Android Studio時你應該知道的一切配置

第一次使用Android Studio時你應該知道的一切配置(二):新建一個屬于自己的工程并安裝Genymotion模擬器

第一次使用Android Studio時你應該知道的一切配置(三):gradle項目構建

?

目錄:

1、gradle的概念

2、gradle配置jar包,和libs文件夾導入jar包的區別

3、簽名打包:

??? (1)Studio

??? (2)命令行

??? (3)gradle wrapper的原理

4、BuildConfig的使用

5、簡單介紹module中build.gradle文件參數含義

?

一、gradle的概念:

  • gradle是一個構建工具
  • gradle是以Groovy語言為基礎的
  • gradle主要面向的是Java語言

打開Android Studio內置的終端,在輸入如下命令查看gradle版本:

gradlew -v

輸入上述命令后,查看到gradle的版本2.2.1,如下圖所示:

二、通過gradle來導入jar包:

我們在上一篇文章中第二段的第3小節中講到了通過拷貝文件到libs文件夾來導入jar包。這次來講一下怎么通過gradle來配置jar包。我們還是以谷歌的gjson.jar為例,如果之前已經通過拷貝文件方式倒入過了,請先自行刪掉。

1、通過gradle配置第三方jar包

我們看到,每個module都有一個build.gradle文件,它其實是對應module的配置文件。關于build.gradle文件中具體內容的含義,我們將在最后一段進行講解。

我們先來看一下名為app的這個module,它的build.gradle對應的圖形界面其實是下面這個

上圖中,切換到dependencies標簽下,如下圖所示:

上圖中,點擊添加,然后選擇"Library dependency",彈出如下界面:

上圖中,我們在搜索框中輸入“gson”,然后確定,就彈出了箭頭處的我們需要的jar包,添加

之后我們會發現,app這個module的build.gradle中多了一行代碼,表示引入了gson.jar:

其實,如果你能記得住上方這行代碼,直接寫出代碼來也是可以導入的。

此時,gson這個jar包不再是出現在libs這個文件夾下了,而是出現在最下方的External Libraries中,如下圖所示:

2、gradle導入jar包的特點:(和libs文件夾導入jar包的區別)

  • gradle導入jar包更方便,一行代碼即可搞定。不像后者那樣還要自己去官方下載。
  • 如果官方將jar包更新了,我們只需要在build.gradle中改一下版本號就行了,不用重新去官網下載。

?

3、通過gradle導入的jar包是從哪里來的:

需要注意的是:不是所有的jar包都是可以通過gradle來導入的。那通過gradle導入的jar包是從哪里來的呢?解釋如下:

我們發現HelloWorld這個project的目錄下有一個build.gradle文件,打開它:

上圖中第17行的"jcenter()"的意思是,所有通過gradle導入的jar包都是從http://bintray.com/bintray/jcenter這個中央倉庫上扒下來的。如果你需要的jar包在這個網站上沒有,那就無法通過gradle的方式來導入哦。

順便提一下,上圖中第8行的classpath中的gradle 1.1.0是android的一個gradle插件(也是從中央倉庫扒下來的)。而我們自己使用的gradle版本如下圖所示:

我們自己下載好的gradle的路徑如下:

三、簽名打包的兩種方式:

注:給我們自己開發的app簽名,就代表著我自己的版權,以后要進行升級,也必須要使用相同的簽名才行。簽名就代表著自己的身份(即keystore),多個app可以使用同一個簽名。

如果不知道簽名是啥意思,請自行百度哦。在eclipse中簽名的方法是:選中工程,郵件選擇"export-android-export android application",

1、方式1:通過Android Studio進行簽名:

選中app這個module,選擇菜單欄"Build-Generate signed apk":

彈出如下界面:


上圖中,如果你是第一次使用簽名,就單擊紅框部分創建一個新的簽名;如果你之前有過簽名的文件,就選擇藍框部分進行導入即可。那我就先選擇紅框部分吧:

上圖中,點擊"finish"之后,可以看到Android Studio的最下方顯示:Gradle正在執行assembleRelease這樣一個任務,如下圖所示:

生成簽名好的apk之后,會彈出提示:

2、方式2:通過命令行的方式進行簽名:

(1)加載Key Store:

我們先刪掉上面的通過第一種方式所簽名的apk文件。接下來進行第二種方式來簽名,即命令行的方式。

打開Project?Stucture圖形化界面:

上圖中,選中app這個module,然后切換到singning標簽欄,緊接著點擊添加,然后生成release簽名信息,緊接著點擊"OK"。接著做如下操作:

上圖中,切換到Build Types標簽,將Signing config選擇為"release",即將剛剛生成的release簽名信息配置進去。

操作完成之后,我們可以看到app這個module的build.gradle文件多出了如下紅框部分的代碼:

然后執行菜單欄的"build-clean Project":

(2)生成realease版本的apk:

緊接著在命令行Terminal輸入如下命令:(AS已經將命令行Terminal集成到了軟件當中)

gradlew assembleRelease

如果運行成功,效果如下:

生成的簽名好的apk在如下位置:

3、為什么要使用gradlew命令而不是gradle命令:

在HelloWorld工程目錄下有一個gradle文件夾,在gradle/wrapper目錄下有一個gradle-wrapper.properties文件,打開它:

上圖代表著HelloWorld這個工程所依賴的gradle的版本信息。上圖的紅線表示,如果我們的工程中沒有gradle,軟件會根據這個url去下載gradle,終于知道為啥第一次打開AS時會這么慢了吧?

如果我們執行了gradlew命令,實際上是執行上面的gradle wrapper,然后找到我們已經下載好的gradle 2.2.1。如果現在有很多個工程,但是每個工程的gradle版本都不一樣,我就必須要將每個版本的gradle都要配置到環境變量當中,而執行了gradlew命令,就會避免這個麻煩。

四、BuildConfig文件:

BuildConfig是IDE自動生成的一個類,在elipse中即存放在gen目錄下(如R文件)。而在Adroid Studio中,BuildConfig文件存放的位置是:app/build/generated/source/buildconfig/dubug/<packagename>/BuildConfig.java中。如下圖所示:

五、module中build.gradle文件參數含義:

主要是module的build.gradle,截圖如下:

01行:apply plugin: 'com.android.application'??? 表示該module是這個應用程序的module

15行:applicationId "com.smyhvae.helloworld"??? 應用程序的包名

16、17行:向下兼容的最小版本、編譯版本。??? 注:在app/src/main/AndroidManifest.xml中不再出現這個信息了。

23行:需不需要利用24行的proguard文件來混淆代碼。在release狀態下,最好改為true。

總結

以上是生活随笔為你收集整理的Android Studio的gradle项目构建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。