gradle配置_设置gradle离线_gradle离线配置(6)

电脑杂谈  发布时间:2017-01-08 12:03:29  来源:网络整理

apply plugin: com.android.application

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.konka.gradletest"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro
        }
    }
}

dependencies {
    compile fileTree(dir: libs, include: [*.jar])
    testCompile junit:junit:4.12
    compile com.android.support:appcompat-v7:23.3.0
}
4.3.1第一行是一个statement,调用了apply方法,这个方法的定义如下:
void apply(Map<String, ?> options);

它的作用是检查gradle有没有所声明的这个插件,有就什么都不做,没有的话就会使插件可用。

具体的每一个script block,它们大部分都是都是方法,都可以在android studio 中按住ctrl鼠标左键,点进去看它的声明,每个方法都有注释来解释它的作用。

4.3.1 android block

android 是这个脚本中最大的块,它包含了andoird特有的插件,这些插件可以使用是因为之前调用了

apply plugin: 'com.android.application',
此外,这里设置了编译android用的参数,构建类型等。
4.3.2 dependencies block
dependecies也是一个接受闭包作为参数的方法,这里设置了编译当前的app的依赖。如果当前app依赖外部的包,可以把这个包放到libs目录下面,然后右键,选择add as library,然后就会在这里生成一条compile ' ... '的记录。

4.3.3还有其他的一些配置,比如:
//这个是解决lint报错的代码

lintOptions {

abortOnError false

}

//<span style="font-family: Arial, Helvetica, sans-serif; font-size: 9pt;">签名设置</span>

signingConfigs {

myConfigs {

storeFile file("签名文件地址")

keyAlias "..."

keyPassword "..."

storePassword "..."

}

}

//<span style="font-family: Arial, Helvetica, sans-serif; font-size: 9pt;">混淆设置</span>

buildTypes {

release {

signingConfig signingConfigs.myConfigs

runProguard true

proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro

}

}

//<span style="font-family: Arial, Helvetica, sans-serif; font-size: 9pt;">渠道打包(不同包名)</span>

productFlavors {

aaa{

applicationId = 包名

}

bbb{

applicationId=包名

}

}

}

//<span style="font-family: Arial, Helvetica, sans-serif; font-size: 9pt;">so文件的导入</span>

task copyNativeLibs(type: Copy) {

from fileTree(dir: libs, include: armeabi/*.so) into build/lib

}

总结:以上的所有内容展示了一个gradle工作的大致过程,gradle脚本的组成方式,概括性的介绍了android studio中每个gradle配置脚本的功能,大概的阐述了一些script block的作用。由于这篇博客旨在理解android studio的gradle的工作方式和脚本的做成结构,所以,如果想更详细的理解每一个script block的作用,可以看下《gradle for android》这本书。此外,后续的文章也会有详细的对常用script block的探讨。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-25073-6.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 多多
      多多

      表白我大函数~Krystal

    • 艾斌哈里拜
      艾斌哈里拜

      证明我们有足够的实力保卫国家的任何一寸土地

    • 张廷
      张廷

      还有的多了

    热点图片
    拼命载入中...