一、 gradle 缓存目录配置

首先了解对于gradle工具配置gradle 缓存路径,就是gradle wrapper各个版本的jar 存储路径和下载的各工程的gradle依赖存储路径

1.直接到gradle 安装目录,编辑bin文件夹下的gradle文件,然后找到如下语句:

# Add default JVM options here. You can also use JAVA_OPTSand GRADLE_OPTS to pass JVM options to this script

在这句话的下面加上如下这一句:

GRADLE_OPTS=-Dgradle.user.home=/yourpath/gradle/gradle_cache

2.通过Android studio 找到gradle 缓存路径,直接修改路径

3.找到每一个工程的gralde.properties文件,添加 gradle.user.home=D:/Cache/.gradle 这样每一个工程都要配置一次很麻烦!!

不建议这么配置,gradle.properties 包含当前工程build tool 拉起gradle jvm 进程所有配置,网络代理配置,jvm参数等等

4.直接添加环境变量GRADLE_USER_HOME,windows通过控制面板操作;linux 在/etc/profile~/.bash_profile增加如下

export GRADLE_USER_HOME=D:/Cache/.gradle

5.通过gradle 自带指令参数自我设置

gradle -g D:/Cache/.gradle build build

可以通过gradle --help查看各参数的含义。

二、 gradle 缓存目录各个含义

caches 是缓存的gradle 工程依赖文件和module依赖文件

deamon是存储的对应wrapper的bin文件和log日志

wrapper是存储的各个版本的gradle(下载的不同版本的gradle也会被GRADLE_USER_HOME所指向)

jars-3存储的是工程gradle依赖文件;如android.jar,kotlin-android.jar,gradle-tool.jar,groovy.jar等(gralde是groovy写的)

modules-2存储的是每一个项目下面的应用具体依赖的jar包

三、 AS工程下gradle 相关各文件含义

gradle.propertie 中配置 gradle 网络代理,以及jvm 参数等

## Project-wide Gradle settings.
#
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Fri Dec 29 14:06:34 CST 2017
systemProp.http.proxyPort=8080
android.enableBuildCache=false
android.useDeprecatedNdk=true
org.gradle.daemon=true
systemProp.http.proxyUser=*****
org.gradle.parallel=true
systemProp.http.proxyPassword=*******
org.gradle.jvmargs=-Xmx4096m -XX\:MaxPermSize\=2048m -XX\:+HeapDumpOnOutOfMemoryError
systemProp.https.proxyHost=10.19.110.55
systemProp.https.proxyPassword=ydq@1104
org.gradle.configureondemand=true
systemProp.http.nonProxyHosts=*.sn.*****.ad|*.****.com|10.*
systemProp.https.nonProxyHosts=*.sn.****.ad|*.*****.com|10.*
systemProp.http.proxyHost=10.19.110.55
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=*****

项目根目录下的build.gradle是配置项目依赖的gradle 版本,语言插件:kotlin-gradle-plugin等, 脚本如:

buildscript {ext.kotlin_version = '1.3.50'repositories {google()jcenter()}dependencies {classpath 'com.android.tools.build:gradle:3.5.3'classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}allprojects {repositories {google()jcenter()}
}task clean(type: Delete) {delete rootProject.buildDir
}

应用目录下build.gradle 配置的module依赖,脚本如:

apply plugin: 'com.android.application'apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'android {compileSdkVersion 29buildToolsVersion "29.0.3"defaultConfig {applicationId "com.example.myapplication"minSdkVersion 15targetSdkVersion 29versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}
}dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"implementation 'androidx.appcompat:appcompat:1.1.0'implementation 'androidx.core:core-ktx:1.2.0'implementation 'androidx.constraintlayout:constraintlayout:1.1.3'testImplementation 'junit:junit:4.12'androidTestImplementation 'androidx.test.ext:junit:1.1.1'androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'// Jetpackdef lifecycle_version = "2.2.0"implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
}

对于项目中已经导入的依赖dependencies{ classpath: XXX },在 应用中的build.gradle 直接使用,需要apply一下;

在应用中build.gradle 引入依赖 使用 implementation "包名:version"

AS工程下gradle各文件(gradle.propertie等)与gradle配置(缓存等)讲述相关推荐

  1. 巧用VC工程下的rc文件

    巧用VC工程下的rc文件(发表时间: 2008-12-30 17:20:00) [评论] [打印] [字体:大 中 小] 本文链接:http://blog.pfan.cn/miaowei/40117. ...

  2. vc 工程下的.ncb文件的作用

    NCB是"No Compile Browser"的缩写,其中存放了供ClassView.WizardBar和Component Gallery使用的信息,由VC开发环境自动生成,工 ...

  3. vc工程下的.ncb文件是什么

    ncb 无编译浏览文件(no compile browser), NCB为VC++自动创建的跟踪文件,NCB是"No Compile Browser"的缩写,其中存放了供Class ...

  4. gradle文件不识别_识别Gradle约定

    gradle文件不识别 通过约定进行配置具有许多优点,尤其是在简洁方面,因为开发人员不需要显式配置通过约定隐式配置的内容. 但是,在利用约定进行配置时,需要注意这些约定. 这些约定可能已记录在案,但是 ...

  5. idea2019配置gradle详解_在IDEA里gradle配置和使用

    在IDEA里gradle配置和使用 前言 有人说Gradle使用groovy语言编写,简单,明了没像maven使用xml臃肿,其实我倒不觉得,我觉得maven挺好的,管理jar依赖和项目生命周期挺方便 ...

  6. 说说Debug文件夹下的.pdb文件

    .PDB文件,全称为"程序数据库"文件.我们使用它(更确切的说是看到它被应用)大多数场景是调试应用程序.目前我们对.PDB文件的普遍认知是它存储了被编译文件的调试信息,作为符号文件 ...

  7. gradlew wrapper使用下载到本地的gradle.zip文件装配--转

    原文地址:http://www.myexception.cn/mobile/1860089.html gradlew wrapper使用下载到本地的gradle.zip文件安装. 使用gradlew来 ...

  8. java aar 文件,将本地.aar文件添加到我的gradle构建中

    这些天(在这个问题之后超过1年)Android Studio> 1.0,本地依赖确实正常工作: android sdk在默认本地仓库中查找依赖项: $ANDROID_HOME/extras/an ...

  9. Gradle复制文件/目录方法

    2019独角兽企业重金招聘Python工程师标准>>> gradle复制文件/文件夹方法 复制文件 //复制IDE生成的classes.jar文件到build/libs中,并改名为F ...

最新文章

  1. Myeclipse快捷键的使用
  2. 如何看待年仅28岁却亿万身家的码农郭宇宣布从字节跳动退休?
  3. hibench 压测flink_【原创】大数据基础之Benchmark(1)HiBench
  4. 已知序列求蝶形运算_(数字信号处理选择题.doc
  5. java 内存同步_Java中的硬件事务性内存,或者为什么同步将再次变得很棒
  6. 安装win10和ubuntu双系统启动不了解决
  7. 没有iml文件会怎么样_【商标服务】商标管理:商标没有办理续展会怎么样 ?...
  8. 十六、oracle 索引
  9. Spring下载链接
  10. 056 日志的正则式方式加载
  11. 微信第三方开放平台研发实战
  12. HTTP方法的幂等性
  13. 阅读科研文献心得分享(二)
  14. 攻防世界逆向高手题之crazy
  15. React.memo Component definition is missing display name
  16. 第十二届蓝桥杯 2021年省赛真题 (Java 大学A组) 第一场
  17. python123用户登录c_写代码: 实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登录成功,否则登录失败。...
  18. cisco packet tracer 介绍
  19. sql注入-简要SQL注入
  20. web攻防之跨站脚本攻击漏洞

热门文章

  1. SMO算法原理转载+自己补充
  2. FPgrwoth详解(转载+修改一处图片问题)
  3. linux用户双重认证登录,linux PAM 用户登录认证
  4. 基本的JVM内存分配过程案例
  5. Resolving Strong Reference Cycles for Closures
  6. HTML5 CSS3初学者指南(3) – HTML5新特性
  7. 浅析正则表达式——柳暗花明又一村篇
  8. linux下解压大于4G文件提示error: Zip file too big错误的解决办法
  9. [C++ Mind Map] class and memory
  10. 【撸码师备忘录】腾讯API接入列表