栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

安卓gradle用法整理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/584659.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号