安卓gradle用法整理

gradle-wrapper.properties:gradle工具配置文件

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.zip

settings.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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值