distributionUrl: 要下载的gradle地址
zipStorebase + zipStorePath: 下载的gradle存放位置
distributionbase + distributionPath: 解压后的gradle存放位置
XXXbase取值:GRADLE_USER_HOME-系统用户目录,PROJECT-工程目录
distributionbase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStorebase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zipsettings.gradle:Module配置文件
include: 包含的模块
project('XXX').projecDir: 源代码路径
include定义包含的模块,非根目录的模块需要定义projectDir
include ':app', ':module1' project(':module1').projectDir = new File("XXX\module1") rootProject.name = "demo"build.gradle: 工程
buildscript: gradle脚本执行所需依赖
|-repositories: 定义依赖来自哪些仓库
|-|-google(),jcenter(),maven{credentials{username 'X' password 'X'} url "X"}
|-dependencies: classpath定义具体依赖项
allprojects: 项目所需依赖
|-同上
buildscript { repositories { google() jcenter() } dependencies { classpath "com.android.tools.build:gradle:4.1.3" classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } } allprojects { repositories { google() jcenter() } }build.gradle: 模块
apply plugin: 'com.android.application‘: 定义Module类型为app, 可独立运行
apply plgin: 'com.android.library': 定义Module类型为库,app依赖的库文件
android
|-defaultConfig
|-|-applicationId,各种version
|-buildTypes
|-|-release,debug, ...
|-|-|-minifyEnable true: 打包时去掉无用代码
|-|-|-shrinkResources: 打包时去掉无用资源
|-|-|-applicationIDsuffix '.debug': id附加,可生成多个同名apk
|-|-|-versionNameSuffix '-debug':多个同名apk的版本后附加
|-productFlavors: 构建多个版本app
|-|-XXX1: 版本名
|-|-|-applicationId 'com.example.hello.XXX1': 版本id
|-|-XXX2
|-compileOptions
|-|-sourceCompatibility
|-|-targetCompatibility
dependencies: 依赖库
|-implementation,api,...
task XXX(type: XXX, dependsOn: XXX): 任务
type: Copy 复制
|-from: 源目录或源文件
|-into: 目标目录
|-rename: 重命名
task copyTask(type: Copy) { from "src/main/XXX" into "src/XXX" rename { String fileName-> fileName.replace('.', '2.') } }
type: Jar 打包jar包
|-manifest: 配置打包出的jar包里 MANIFEST.MF文件中的内容
|-|-attributes: 定义文件内容里的key-value
|-archiveName: 打包出的jar包名字
|-from: include的文件查找目录
|-include: jar包里打包的文件
|-exclude: include目录时不需要打包的文件
task buildJar(type: Jar) { manifest { SimpleDateFormat formatter = new SimpleDateFormat("YYYYMMddhh"); Date curDate = new Date(System.currentTimeMillis()); String version = formatter.format(curDate); attributes 'version': version } archiveName('demo.jar') from('src/main/java') include('com/rlaflsk/myapplication/XXX.java') include('com/rlaflsk/myapplication') exclude('com/rlaflsk/myapplication.XXX.java') }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)