当前位置:   article > 正文

AS工程下gradle各文件(gradle.propertie等)与gradle配置(缓存等)讲述_jars-8

jars-8

一、 gradle 缓存目录配置

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

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

  1. # Add default JVM options here. You can also use JAVA_OPTS
  2. and 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 参数等

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

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

  1. buildscript {
  2. ext.kotlin_version = '1.3.50'
  3. repositories {
  4. google()
  5. jcenter()
  6. }
  7. dependencies {
  8. classpath 'com.android.tools.build:gradle:3.5.3'
  9. classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  10. // NOTE: Do not place your application dependencies here; they belong
  11. // in the individual module build.gradle files
  12. }
  13. }
  14. allprojects {
  15. repositories {
  16. google()
  17. jcenter()
  18. }
  19. }
  20. task clean(type: Delete) {
  21. delete rootProject.buildDir
  22. }

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

  1. apply plugin: 'com.android.application'
  2. apply plugin: 'kotlin-android'
  3. apply plugin: 'kotlin-android-extensions'
  4. android {
  5. compileSdkVersion 29
  6. buildToolsVersion "29.0.3"
  7. defaultConfig {
  8. applicationId "com.example.myapplication"
  9. minSdkVersion 15
  10. targetSdkVersion 29
  11. versionCode 1
  12. versionName "1.0"
  13. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  14. }
  15. buildTypes {
  16. release {
  17. minifyEnabled false
  18. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  19. }
  20. }
  21. }
  22. dependencies {
  23. implementation fileTree(dir: 'libs', include: ['*.jar'])
  24. implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
  25. implementation 'androidx.appcompat:appcompat:1.1.0'
  26. implementation 'androidx.core:core-ktx:1.2.0'
  27. implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
  28. testImplementation 'junit:junit:4.12'
  29. androidTestImplementation 'androidx.test.ext:junit:1.1.1'
  30. androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
  31. // Jetpack
  32. def lifecycle_version = "2.2.0"
  33. implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
  34. implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
  35. }

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/868603
推荐阅读
相关标签
  

闽ICP备14008679号