Android--关于Gradle的一些记录
2016-11-30 10:38
471 查看
1.一个project中包含两个gradle
(1)project层面的build.gradle
其中buildscript中的代码块是用于配置gradle本身的运行脚本,自己app的部署不用写在这里,一般不对其做修改。allprojects代码块中是声明项目自身需要的仓库源(jcenter、maven都是国外的仓库源)。
task clean这里声明了一个task,用于setting.gradle改变时清空项目。
(2)app层的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.example.goodix.myapplication"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:23.4.0'
testCompile 'junit:junit:4.12'
}
compileSdkVersion 23这一行配置sdk的版本,buildToolViersion:23.0.1配置buildTool的版本。
defaultconfig代码块中,配置了app的一些基本属性,包括applicationId(很重要,和夸app调用有关)、sdkVersion、以及app的version号等。
buildTypes代码块中,可以配置release版或debug版等不同的版本信息,不同的版本又可以单独配置代码混淆(minifyEnabled、proguard),签名信息(signingConfig)等属性。
dependencies代码块中配置了app编译要使用的依赖库。
ps:gradle非常强大,以上只是基本的配置。另外如productFlavors代码块、signingConfigs代码块的用法请可以查阅相关信息学习。
2.settings.gradle
include ':app'
包括了工程中需要编译的module名
(1)project层面的build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }project中的build.gradle负责全局配置。
其中buildscript中的代码块是用于配置gradle本身的运行脚本,自己app的部署不用写在这里,一般不对其做修改。allprojects代码块中是声明项目自身需要的仓库源(jcenter、maven都是国外的仓库源)。
task clean这里声明了一个task,用于setting.gradle改变时清空项目。
(2)app层的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.example.goodix.myapplication"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:23.4.0'
testCompile 'junit:junit:4.12'
}
compileSdkVersion 23这一行配置sdk的版本,buildToolViersion:23.0.1配置buildTool的版本。
defaultconfig代码块中,配置了app的一些基本属性,包括applicationId(很重要,和夸app调用有关)、sdkVersion、以及app的version号等。
buildTypes代码块中,可以配置release版或debug版等不同的版本信息,不同的版本又可以单独配置代码混淆(minifyEnabled、proguard),签名信息(signingConfig)等属性。
dependencies代码块中配置了app编译要使用的依赖库。
ps:gradle非常强大,以上只是基本的配置。另外如productFlavors代码块、signingConfigs代码块的用法请可以查阅相关信息学习。
2.settings.gradle
include ':app'
包括了工程中需要编译的module名
相关文章推荐
- Android记录23-关于actionbar中overflow menu(溢出菜单)中的一些问题
- 关于Android Studio使用Gradle多渠道打包的一些记录
- 关于android输入法的一些记录
- 记录一些关于android与unity之间交互的文章
- Android记录23-关于actionbar中overflow menu(溢出菜单)中的一些问题
- 从今天起,开始记录一些关于Android的问题或者文章
- 关于android图片加载框架univser-imageloader使用的一些小技巧记录
- 写一些关于Android的知识点记录
- android-studio的gradle plugin配置相关的一些记录
- 关于Android程序崩溃的一些记录
- Android中关于Proguard的一些记录
- 关于Android4.X后监听开机广播的一些记录
- 关于Android gradle打包的一些小事
- 记录一些关于android,cocos2d-x,objective-c,mfc,directX,c++,数学的东西
- 一些关于android控件布局的小细节记录
- 关于android 4.1的设置默认值的一些记录
- 关于android开发遇到的一些问题的解决办法---间断的更新
- 关于Android中传递数据的一些讨论
- 俺网站Android及Ophone开发,全系列上手资料,关于环境搭建遇见的一些问题,包1天能上手。