91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

學習Android Studio里的Gradle

發布時間:2020-09-10 01:51:13 來源:網絡 閱讀:372 作者:鏡中小白 欄目:移動開發

一直聽說Gradle很強大,只是偶爾用Android Studio創建Demo的時候看到他一次,今天抽個時間完整記錄一下。

 

1.gradle位置

 

Android Studio項目創建好之后,默認有3gradle文件,分別位于:

 

/settings.gradle

/build.gradle

/app/build.gradle

2.gradle內容

 

settings.gradle 默認只有一行代碼,即:

include ':app'

新創建的項目只有app一個子項目。如果在project里添加了子項目(Module),按理需要在settings.gradle里添加相應子項目名稱,如:

include ':app', ':androidlibrary'

提示:當你添加一個Module后,最新版的Android Studio會自動在settings.gradle里配置好,Amazing

 

根目錄的build.gradle 就比較豐富了,默認有三個“節點”,buildscriptallprojectstask clean

buildscript {
   repositories {
       jcenter()
    }
   dependencies {
       classpath 'com.android.tools.build:gradle:1.3.0'
    }
}
 
allprojects {
   repositories {
       jcenter()
    }
}
 
task clean(type: Delete) {
   delete rootProject.buildDir
}

 

buildscript下的第一個子“節點”是聲明倉庫源,默認是jcenter,之前版本則是mavenCentral,也可以兩個center共存。jcenter可以理解成是一個新的中央遠程倉庫,兼容maven中心倉庫,而且性能更優。第二個子“節點”是聲明Androidgradle plugin的版本,Android Studio 1.5版默認是gradle 1.3

 

allprojects下是聲明了所有project默認的倉庫源。

 

task clean聲明了一個任務,任務名叫clean(也可以改為其它),任務類型是Delete(也可以是Copy),就是每當修改settings.gradle文件后點擊同步,就會刪除rootProject.buildDir下的文件(實際上我看到的效果是清除了External Libraries里的包,然后又添加了一次)

 

app/build.gradle 就是默認android子項目的gradle文件了,也是三個小節點:applyandroiddependencies

 

apply plugin: 'com.android.application'
 
android {
   compileSdkVersion 15
   buildToolsVersion '19.1.0'
   defaultConfig {
       applicationId "com.nait.picassodemo"
       minSdkVersion 4
       targetSdkVersion 15
       versionCode 1
       versionName "1.0"
    }
   buildTypes {
       release {
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
       }
    }
   productFlavors {
    }
}
 
dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.squareup.picasso:picasso:2.5.2'
   compile 'com.squareup.okhttp:okhttp:2.5.0'
   compile 'com.umeng.analytics:analytics:5.6.1'
   testCompile 'junit:junit:4.12'
}

 

appley節點:apply plugin: 'com.android.application'

 

以上語句中的apply是一個方法,給它傳遞了一個參數pluginplugin 的值是'com.android.application'。如果有多個參數,則以逗號隔開,例如:compile name: 'volley', ext: 'aar'

 

android節點:前面部分很好理解,從字面意思就能了解。buildTypes默認是release(也可以添加debug),minifyEnabled表示是否需要混淆,proguardFiles 表示混淆配置文件的名稱。productFlavors表示多渠道包(以后深入學習后再寫)。

 

dependencies節點:com.開頭的部分是Demo項目中添加的引用包,規則是namesapce:package name:version,其它兩行是項目創建后默認添加的。

 

當然,開發完APP也是需要進行全方位的檢測:www.ineice.com


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巢湖市| 安庆市| 武强县| 新昌县| 广元市| 静宁县| 镇平县| 公主岭市| 铁力市| 深泽县| 会宁县| 牟定县| 辰溪县| 穆棱市| 金阳县| 镇安县| 舒城县| 南澳县| 溆浦县| 乌苏市| 玉田县| 德化县| 湖南省| 红原县| 华阴市| 东乡族自治县| 呼和浩特市| 迁西县| 东兰县| 布尔津县| 霍山县| 高雄县| 道孚县| 西林县| 漳州市| 泽库县| 洪湖市| 道真| 金坛市| 江油市| 阜平县|