安卓gradle用法整理

安卓gradle用法整理,第1张

安卓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')
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5575869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存