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_cache2.通過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配置(缓存等)讲述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 西游释厄传如何设置简化出招表
- 下一篇: 五笔字根表小记