settings.gradle
文件位于项目根目录,包含项目所包含的Module
示例 include ‘:app’, ‘:library’
local.properties
文件位于项目根目录,一般用来配置本地环境属性(如sdk路径)
示例 sdk.dir=D:\androidSDK
build.gradle
文件位于项目根目录,用于定义适用于项目中所有模块的构建配置
buildscript { //定义项目中所有模块共用的 Gradle 存储区和依赖项
repositories { //配置依赖库的路径
jcenter()
}
dependencies { //添加插件
classpath 'com.android.tools.build:gradle:3.2.0'
}
}
allprojects {
repositories { //项目中依赖库的路径
jcenter() //默认远程库
mavenCentral()
mavenLocal()
maven { //指定路径,自己挑选即可
url "https://repo.example.com/maven2"
}
}
}
build.gradle
文件位于项目Module目录下,用于配置适用于其所在模块的构建设置
//插件
apply plugin: 'com.android.application'
//android 选项配置
android {
compileSdkVersion 27 //编译版本
buildToolsVersion "27.0.1"
//默认配置,可以覆盖Manifest.xml文件,配置应用的版本
defaultConfig {
applicationId 'com.example.myapp' //唯一应用ID<至少包含两段,即一个圆点;字母数字下划线;字母开头> 一般情况下和包名相同,但也可以修改报名,和manifest文件保持一致就行
minSdkVersion 15 // 最小sdk版本
targetSdkVersion 26 // 目标版本
versionCode 1 // 版本号
versionName "1.0" // 版本名
multiDexEnabled true //方法数超过64k ,minsdk>=21 只需配置这里,否则还要添加依赖包如下;然后配置文件重命名MultiDexApplication;或者继承MultiDexApplication;或者在自己的application中重写attachBaseContext,然后MultiDex.install(this);
ndk { //ndk过滤so包(以下为只支持v7包);如果error,在gradle.properties文件中添加Android.useDeprecatedNdk=true
abiFilters "armeabi-v7a"
}
}
//引入jar包,aar包方式 2.1 需配置下面2.2
repositories {
flatDir {
dirs 'libs'
}
}
//debug和release两种类型,默认debug类型
buildTypes {
release {
minifyEnabled true //配置是否运行混淆文件 true运行;false不运行
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.key //配置sign,也可将debug key设置为发布版☺
debuggable true
jniDebuggable false
applicationIdSuffix ".debug" //在同一台设备创建正式和调试版本
}
}
//sign配置
signingConfigs {
key{
storeFile file('E:\\keyname.keystore')
storePassword '密码'
keyAlias '别名'
keyPassword '密码'
}
}
//lint配置
lintOptions {
abortOnError false //停止构建,如果发现错误,默认为true
ignoreWarnings true //只报告错误
}
//资源路径重定位
sourceSets {
main {
java.srcDirs = ['other/java'] //默认 'src/main/java',修改为 'other/java' java路径
res.srcDirs = ['other/res1', 'other/res2'] //资源路径
manifest.srcFile 'other/AndroidManifest.xml' //配置路径
}
}
//module的依赖库
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0' //依赖远程依赖库
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) //引入jar包,aar包方式1 ;本地二进制依赖
implementation (name:'xxx', ext:'jar') //引入jar包,aar包方式 2.2
implementation project(":mylibrary") //本地library依赖
implementation 'com.android.support:multidex:1.0.3' //21版本以下分包问题
}