AS工程下gradle各文件(gradle.propertie等)与gradle配置(缓存等)讲述
一、 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配置(缓存等)讲述相关推荐
- 巧用VC工程下的rc文件
巧用VC工程下的rc文件(发表时间: 2008-12-30 17:20:00) [评论] [打印] [字体:大 中 小] 本文链接:http://blog.pfan.cn/miaowei/40117. ...
- vc 工程下的.ncb文件的作用
NCB是"No Compile Browser"的缩写,其中存放了供ClassView.WizardBar和Component Gallery使用的信息,由VC开发环境自动生成,工 ...
- vc工程下的.ncb文件是什么
ncb 无编译浏览文件(no compile browser), NCB为VC++自动创建的跟踪文件,NCB是"No Compile Browser"的缩写,其中存放了供Class ...
- gradle文件不识别_识别Gradle约定
gradle文件不识别 通过约定进行配置具有许多优点,尤其是在简洁方面,因为开发人员不需要显式配置通过约定隐式配置的内容. 但是,在利用约定进行配置时,需要注意这些约定. 这些约定可能已记录在案,但是 ...
- idea2019配置gradle详解_在IDEA里gradle配置和使用
在IDEA里gradle配置和使用 前言 有人说Gradle使用groovy语言编写,简单,明了没像maven使用xml臃肿,其实我倒不觉得,我觉得maven挺好的,管理jar依赖和项目生命周期挺方便 ...
- 说说Debug文件夹下的.pdb文件
.PDB文件,全称为"程序数据库"文件.我们使用它(更确切的说是看到它被应用)大多数场景是调试应用程序.目前我们对.PDB文件的普遍认知是它存储了被编译文件的调试信息,作为符号文件 ...
- gradlew wrapper使用下载到本地的gradle.zip文件装配--转
原文地址:http://www.myexception.cn/mobile/1860089.html gradlew wrapper使用下载到本地的gradle.zip文件安装. 使用gradlew来 ...
- java aar 文件,将本地.aar文件添加到我的gradle构建中
这些天(在这个问题之后超过1年)Android Studio> 1.0,本地依赖确实正常工作: android sdk在默认本地仓库中查找依赖项: $ANDROID_HOME/extras/an ...
- Gradle复制文件/目录方法
2019独角兽企业重金招聘Python工程师标准>>> gradle复制文件/文件夹方法 复制文件 //复制IDE生成的classes.jar文件到build/libs中,并改名为F ...
最新文章
- Myeclipse快捷键的使用
- 如何看待年仅28岁却亿万身家的码农郭宇宣布从字节跳动退休?
- hibench 压测flink_【原创】大数据基础之Benchmark(1)HiBench
- 已知序列求蝶形运算_(数字信号处理选择题.doc
- java 内存同步_Java中的硬件事务性内存,或者为什么同步将再次变得很棒
- 安装win10和ubuntu双系统启动不了解决
- 没有iml文件会怎么样_【商标服务】商标管理:商标没有办理续展会怎么样 ?...
- 十六、oracle 索引
- Spring下载链接
- 056 日志的正则式方式加载
- 微信第三方开放平台研发实战
- HTTP方法的幂等性
- 阅读科研文献心得分享(二)
- 攻防世界逆向高手题之crazy
- React.memo Component definition is missing display name
- 第十二届蓝桥杯 2021年省赛真题 (Java 大学A组) 第一场
- python123用户登录c_写代码: 实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登录成功,否则登录失败。...
- cisco packet tracer 介绍
- sql注入-简要SQL注入
- web攻防之跨站脚本攻击漏洞
热门文章
- SMO算法原理转载+自己补充
- FPgrwoth详解(转载+修改一处图片问题)
- linux用户双重认证登录,linux PAM 用户登录认证
- 基本的JVM内存分配过程案例
- Resolving Strong Reference Cycles for Closures
- HTML5 CSS3初学者指南(3) – HTML5新特性
- 浅析正则表达式——柳暗花明又一村篇
- linux下解压大于4G文件提示error: Zip file too big错误的解决办法
- [C++ Mind Map] class and memory
- 【撸码师备忘录】腾讯API接入列表