学习AndroidStudio里的Gradle-创新互联

一直听说Gradle很强大,只是偶尔用Android Studio创建Demo的时候看到他一次,今天抽个时间完整记录一下。

10年积累的成都网站设计、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有宿松免费网站建设让你可以放心的选择与我们合作。

1.gradle位置

Android Studio项目创建好之后,默认有3个gradle文件,分别位于:

/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 就比较丰富了,默认有三个“节点”,buildscript、allprojects和task 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文件了,也是三个小节点:apply、android和dependencies。

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是一个方法,给它传递了一个参数plugin,plugin 的值是'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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:学习AndroidStudio里的Gradle-创新互联
浏览路径:http://csdahua.cn/article/dgcsgo.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流