项目的构建配置(gradle,build)

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版本以下分包问题
}

你可能感兴趣的:(Android,Android)