Android studio gradle配置

來源:互聯網
上載者:User

標籤:android   style   http   io   color   ar   os   使用   java   

Gradle 基本概念

首先我們學習幾個gradle 的指令碼文法,掌握了這幾個文法,你就能非常簡單的用gradle構建打包android項目了。 首先,我們來看下一個最簡單android build.gradle

build.gradle

    //設定指令碼的運行環境    buildscript {         //支援java 依賴庫管理(maven/ivy),用於項目的依賴。 repositories {            mavenCentral()        }        //依賴包的定義。支援maven/ivy,遠程,本地庫,也支援單檔案        dependencies {            classpath ‘com.android.tools.build:gradle:0.4‘        }    }    //聲明構建的項目類型,這裡當然是android了    apply plugin: ‘android‘    //設定編譯android項目的參數    android {        compileSdkVersion 17        buildToolsVersion "17"            defaultConfig {            minSdkVersion 8            targetSdkVersion 17        }        //Android預設配置        sourceSets {            main {                manifest.srcFile ‘AndroidManifest.xml‘                java.srcDirs = [‘src‘]                resources.srcDirs = [‘src‘]                aidl.srcDirs = [‘src‘]                renderscript.srcDirs = [‘src‘]                res.srcDirs = [‘res‘]                assets.srcDirs = [‘assets‘]            }            //測試所在的路徑,這裡假設是tests檔案夾,沒有可以不寫這一行            instrumentTest.setRoot(‘tests‘)        }                //這個是解決lint報錯的代碼        lintOptions {            abortOnError false        }        /**         * 簽章設定         */        signingConfigs {            myConfigs {                storeFile file("簽名檔案地址")                keyAlias "..."                keyPassword "..."                storePassword "..."            }        }        /**         * 混淆設定         */        buildTypes {            release {                signingConfig signingConfigs.myConfigs                runProguard true                proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘            }        }        /**         * 渠道打包(不同包名)         */        productFlavors {            qqqq {                applicationId = ‘包名‘            }            hhhhh {                applicationId=‘包名‘            }        }    }    /**     * .so檔案的匯入     */    task copyNativeLibs(type: Copy) {        from fileTree(dir: ‘libs‘, include: ‘armeabi/*.so‘) into ‘build/lib‘    }    tasks.withType(Compile) {        options.encoding = "UTF-8"    }        tasks.withType(Compile) {        compileTask -> compileTask.dependsOn copyNativeLibs    }    clean.dependsOn ‘cleanCopyNativeLibs‘    tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->        pkgTask.jniFolders = [new File(buildDir, ‘lib‘)]    }    //依賴庫    dependencies {    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])    }

本地依賴

gradle 作為構建工具,能夠很方便的使用本地jar包,以下為使用的代碼塊。

dependencies {        //單檔案依賴compile files(‘libs/android-support-v4.jar‘)//某個檔案夾下面全部依賴compile fileTree(dir: ‘libs‘, include: ‘*.jar‘)}android {}

遠程依賴

gradle 同時支援maven,ivy,由於ivy我沒用過,所以用maven 作為例子,以下為代碼塊:

repositories {        //從中央庫裡面擷取依賴mavenCentral()//或者使用指定的本地maven 庫maven{url "file://F:/githubrepo/releases"}//或者使用指定的遠程maven庫maven{url "遠程庫地址"}}dependencies {        //應用格式: packageName:artifactId:versioncompile ‘com.google.android:support-v4:r13‘}android {}

android library 依賴

對於項目依賴 android library的話,就不是依賴一個jar,那麼簡單了,在這裡需要使用gradle mulit project 機制。在過去,android library並沒有一個很好的包管理方式,簡單來說,在gradle出現以前,官方並沒有一種用於管理android library 依賴包的方式,一般我們都是直接下載別人的android library project 源碼進行整合,而對於第三方的android-maven-plugin 用的是apklib 格式。

而現在,官方終於推出一種android library的打包格式,副檔名為*.aar。前面提到,目前android gradle外掛程式並不支援本地直接使用*.aar檔案,不過,支援包管理庫的引用方式,下面,我為大家說一下,怎麼對android library 發布使用。

打包android library

對android library 進行打包直接在library項目下面使用gradle build 即可,然後,你就會在 build/libs 目錄下看到兩個*.aar檔案,一個debug包用的,一個是release 下用的,看個人需求使用,這裡我們用的是release 版本的 .aar 檔案。

引用指令碼跟前面講的依賴庫相似

dependencies {    compile(name: ‘pulltorefresh‘, ext: ‘aar‘)}

最後,分享個maven庫地址:http://mvnrepository.com/


Android studio gradle配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.