Gradle查看依賴庫

一、Android獲取所有依賴庫

第一種方式通過dependencies 獲取所有依賴庫

gradle :app:dependencies     
輸出列表展示了所有configuration下的依賴樹,依賴關(guān)系明顯,層次清晰。

第二種方式獲取所有依賴庫

第一種方式輸出列表展示了所有configuration下的依賴樹,依賴關(guān)系明顯,層次清晰贱纠。如果覺得輸出的結(jié)果太冗長(通常情況下包含幾十個(gè)configuration),可以通過指定configuration來顯示特定的依賴樹

//該命令只會(huì)顯示release模式下編譯過程中的依賴樹响蕴。
gradle  :app:dependencies --configuration releaseCompileClasspath  

//該命令指定compile環(huán)境谆焊,查看依賴樹命令如下
gradle  :app:dependencies --configuration compile

//如果日志太長可以寫入本地文件
gradle  :app:dependencies --configuration debugCompileClasspath > log.txt

查看其他配置類型:

gradle dependencies --info

configuration配置默認(rèn)有以下類型,重點(diǎn)關(guān)注debugCompileClasspath和releaseCompileClasspath即可

debugAndroidTestCompileClasspath - Compile classpath for compilation 'debugAndroidTest' (target  (androidJvm)).
debugCompileClasspath - Compile classpath for compilation 'debug' (target  (androidJvm)).
debugUnitTestCompileClasspath - Compile classpath for compilation 'debugUnitTest' (target  (androidJvm)).
releaseCompileClasspath - Compile classpath for compilation 'release' (target  (androidJvm)).
releaseUnitTestCompileClasspath - Compile classpath for compilation 'releaseUnitTest' (target  (androidJvm)).

注意:如果有flavor浦夷,則配置名會(huì)變辖试,例如Flavor為Xiaomi辜王,配置為:
XiaomiDebugAndroidTestCompileClasspath
XiaomiDebugCompileClasspath
XiaomiDebugUnitTestCompileClasspath
XiaomiReleaseCompileClasspath
XiaomiReleaseUnitTestCompileClasspath

第三種方式通過androidDependencies命令

gradle :app:androidDependencies 
該task會(huì)平鋪展示依賴樹,并且只展示幾個(gè)主要的variant罐孝,看起來較為清爽呐馆,但是缺點(diǎn)是不能像方式一那樣指定configuration。

mac版命-令導(dǎo)出依賴到文件中

./gradlew app:dependencies >dependencies.txt

命令 gradle和./gradlew是相等的
gradle:app中的:app其實(shí)就是settings.gradle中對(duì)應(yīng)的module
gradlew:其實(shí)是gradle和 wrapper 的組合莲兢,縮寫為gradlew汹来。

第四種方式通過Android sutdio gradle task 工具

image.png

二、Android獲取所有依賴庫出現(xiàn)錯(cuò)誤

錯(cuò)誤一:

mac gradlew 命令 zsh: command not found: gradlew

解決方式:

chmod +x gradlew

注意:需要使用 ./gradlew
主要因?yàn)閙ac下執(zhí)行當(dāng)前目錄下的命令需要在前面加上“./”改艇,否則會(huì)到環(huán)境變量下找相應(yīng)命令收班。

錯(cuò)誤二:

然后可能出現(xiàn)

The operation couldn’t be completed. Unable to locate a Java Runtime.

解決方式:
在.bash_profile添加

export JAVA_HOME=/Applications/Android\Studio.app/Contents/jre/Contents/Home

然后terminal 輸入source .bash_profile

錯(cuò)誤三:

env: bash\r: No such file or directory

解決方法:
進(jìn)入項(xiàng)目目錄執(zhí)行下列命令即可:

brew install dos2unix
find . -type f -exec dos2unix {} \;

三、依賴關(guān)系

> Task :app:dependencies

------------------------------------------------------------
Project :app
------------------------------------------------------------

DebugCompileClasspath - Compile classpath for compilation 'Debug' (target  (androidJvm)).
+--- androidx.databinding:viewbinding:4.0.1
|    \--- androidx.annotation:annotation:1.0.0 -> 1.3.0
+--- androidx.databinding:databinding-common:4.0.1
+--- androidx.databinding:databinding-runtime:4.0.1
|    +--- androidx.databinding:viewbinding:4.0.1 (*)
|    +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.5.1
|    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    +--- androidx.arch.core:core-common:2.1.0
|    |    |    \--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    \--- androidx.lifecycle:lifecycle-common:2.5.1
|    |         \--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    +--- androidx.collection:collection:1.0.0 -> 1.1.0
|    |    \--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    \--- androidx.databinding:databinding-common:4.0.1
+--- androidx.databinding:databinding-adapters:4.0.1
|    +--- androidx.databinding:databinding-common:4.0.1
|    \--- androidx.databinding:databinding-runtime:4.0.1 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.10
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10
|    |    \--- org.jetbrains:annotations:13.0
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0
|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.10 (*)
+--- project :business:drive
|    +--- project :base
|    |    +--- androidx.core:core-ktx:1.6.0 -> 1.9.0
|    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    +--- androidx.core:core:1.9.0
|    |    |    |    +--- androidx.annotation:annotation:1.2.0 -> 1.3.0
|    |    |    |    +--- androidx.annotation:annotation-experimental:1.3.0
|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 (*)
|    |    |    |    +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.5.1 (*)
|    |    |    |    \--- androidx.versionedparcelable:versionedparcelable:1.1.1
|    |    |    |         +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |         \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 (*)
|    |    +--- com.google.android.material:material:1.2.1 -> 1.4.0
|    |    |    +--- androidx.annotation:annotation:1.0.1 -> 1.3.0
|    |    |    +--- androidx.appcompat:appcompat:1.1.0 -> 1.6.1
|    |    |    |    +--- androidx.activity:activity:1.6.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |    |    +--- androidx.core:core:1.8.0 -> 1.9.0 (*)
|    |    |    |    |    +--- androidx.lifecycle:lifecycle-runtime:2.5.1 (*)
|    |    |    |    |    +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1
|    |    |    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.10 (*)
|    |    |    |    |    +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1
|    |    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |    |    |    +--- androidx.core:core-ktx:1.2.0 -> 1.9.0 (*)
|    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.5.1
|    |    |    |    |    |    |    \--- androidx.lifecycle:lifecycle-common:2.5.1 (*)
|    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 (*)
|    |    |    |    |    |    +--- androidx.savedstate:savedstate:1.2.0
|    |    |    |    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.7.10 (*)
|    |    |    |    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.10 (*)
|    |    |    |    |    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1
|    |    |    |    |    |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1
|    |    |    |    |    |         |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.1
|    |    |    |    |    |         |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.1
|    |    |    |    |    |         |         |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1 (c)
|    |    |    |    |    |         |         |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.1 (c)
|    |    |    |    |    |         |         |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1 (c)
|    |    |    |    |    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 (*)
|    |    |    |    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.7.10
|    |    |    |    |    |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.1 (*)
|    |    |    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 (*)
|    |    |    |    |    +--- androidx.savedstate:savedstate:1.2.0 (*)
|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 (*)
|    |    |    |    +--- androidx.annotation:annotation:1.3.0
|    |    |    |    +--- androidx.appcompat:appcompat-resources:1.6.1
|    |    |    |    |    +--- androidx.annotation:annotation:1.2.0 -> 1.3.0
|    |    |    |    |    +--- androidx.core:core:1.6.0 -> 1.9.0 (*)
|    |    |    |    |    +--- androidx.vectordrawable:vectordrawable:1.1.0
|    |    |    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |    |    |    +--- androidx.core:core:1.1.0 -> 1.9.0 (*)
|    |    |    |    |    |    \--- androidx.collection:collection:1.1.0 (*)
|    |    |    |    |    \--- androidx.vectordrawable:vectordrawable-animated:1.1.0
|    |    |    |    |         +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
|    |    |    |    |         +--- androidx.interpolator:interpolator:1.0.0
|    |    |    |    |         |    \--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |    |         \--- androidx.collection:collection:1.1.0 (*)
|    |    |    |    +--- androidx.core:core:1.9.0 (*)
|    |    |    |    +--- androidx.cursoradapter:cursoradapter:1.0.0
|    |    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |    +--- androidx.drawerlayout:drawerlayout:1.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.9.0 (*)
|    |    |    |    |    \--- androidx.customview:customview:1.0.0
|    |    |    |    |         +--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |    |         \--- androidx.core:core:1.0.0 -> 1.9.0 (*)
|    |    |    |    +--- androidx.fragment:fragment:1.3.6
|    |    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |    |    +--- androidx.core:core:1.2.0 -> 1.9.0 (*)
|    |    |    |    |    +--- androidx.collection:collection:1.1.0 (*)
|    |    |    |    |    +--- androidx.viewpager:viewpager:1.0.0
|    |    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.9.0 (*)
|    |    |    |    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    |    |    |    +--- androidx.loader:loader:1.0.0
|    |    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.9.0 (*)
|    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.3.1
|    |    |    |    |    |    |    +--- androidx.arch.core:core-runtime:2.1.0
|    |    |    |    |    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |    |    |    |    |    \--- androidx.arch.core:core-common:[2.1.0] -> 2.1.0 (*)
|    |    |    |    |    |    |    \--- androidx.lifecycle:lifecycle-livedata-core:2.3.1 -> 2.5.1 (*)
|    |    |    |    |    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.5.1 (*)
|    |    |    |    |    +--- androidx.activity:activity:1.2.4 -> 1.6.0 (*)
|    |    |    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.3.1 -> 2.5.1 (*)
|    |    |    |    |    +--- androidx.lifecycle:lifecycle-viewmodel:2.3.1 -> 2.5.1 (*)
|    |    |    |    |    +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1 -> 2.5.1 (*)
|    |    |    |    |    +--- androidx.savedstate:savedstate:1.1.0 -> 1.2.0 (*)
|    |    |    |    |    \--- androidx.annotation:annotation-experimental:1.0.0 -> 1.3.0 (*)
|    |    |    |    \--- androidx.savedstate:savedstate:1.2.0 (*)
|    |    |    +--- androidx.cardview:cardview:1.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    +--- androidx.coordinatorlayout:coordinatorlayout:1.1.0
|    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |    +--- androidx.core:core:1.1.0 -> 1.9.0 (*)
|    |    |    |    +--- androidx.customview:customview:1.0.0 (*)
|    |    |    |    \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    |    +--- androidx.constraintlayout:constraintlayout:2.0.1 -> 2.1.4
|    |    |    +--- androidx.core:core:1.5.0 -> 1.9.0 (*)
|    |    |    +--- androidx.dynamicanimation:dynamicanimation:1.0.0
|    |    |    |    +--- androidx.core:core:1.0.0 -> 1.9.0 (*)
|    |    |    |    +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    |    |    \--- androidx.legacy:legacy-support-core-utils:1.0.0
|    |    |    |         +--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |         +--- androidx.core:core:1.0.0 -> 1.9.0 (*)
|    |    |    |         +--- androidx.documentfile:documentfile:1.0.0
|    |    |    |         |    \--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |         +--- androidx.loader:loader:1.0.0 (*)
|    |    |    |         +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|    |    |    |         |    \--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |         \--- androidx.print:print:1.0.0
|    |    |    |              \--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.3.0 (*)
|    |    |    +--- androidx.fragment:fragment:1.0.0 -> 1.3.6 (*)
|    |    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.5.1 (*)
|    |    |    +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.2.0
|    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |    +--- androidx.core:core:1.3.2 -> 1.9.0 (*)
|    |    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    |    +--- androidx.transition:transition:1.2.0
|    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    |    +--- androidx.core:core:1.0.1 -> 1.9.0 (*)
|    |    |    |    \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    |    +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
|    |    |    \--- androidx.viewpager2:viewpager2:1.0.0
|    |    |         +--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |         +--- androidx.fragment:fragment:1.1.0 -> 1.3.6 (*)
|    |    |         +--- androidx.recyclerview:recyclerview:1.1.0 -> 1.2.0 (*)
|    |    |         +--- androidx.core:core:1.1.0 -> 1.9.0 (*)
|    |    |         \--- androidx.collection:collection:1.1.0 (*)
|    |    +--- androidx.appcompat:appcompat:1.3.0 -> 1.6.1 (*)
|    |    +--- androidx.constraintlayout:constraintlayout:2.0.4 -> 2.1.4
|    |    +--- androidx.recyclerview:recyclerview:1.2.0 (*)
|    |    +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1
|    |    +--- androidx.room:room-runtime:2.3.0
|    |    |    +--- androidx.room:room-common:2.3.0
|    |    |    |    \--- androidx.annotation:annotation:1.1.0 -> 1.3.0
|    |    |    +--- androidx.sqlite:sqlite-framework:2.1.0
|    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    |    \--- androidx.sqlite:sqlite:[2.1.0] -> 2.1.0
|    |    |    |         \--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    \--- androidx.sqlite:sqlite:2.1.0 (*)
|    |    +--- androidx.room:room-ktx:2.3.0
|    |    |    +--- androidx.room:room-common:2.3.0 (*)
|    |    |    +--- androidx.room:room-runtime:2.3.0 (*)
|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.31 -> 1.7.10 (*)
|    |    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1 -> 1.6.1 (*)
|    |    +--- androidx.lifecycle:lifecycle-livedata-ktx:2.3.1
|    |    |    +--- androidx.lifecycle:lifecycle-livedata:2.3.1 (*)
|    |    |    +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.3.1
|    |    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.3.1 -> 2.5.1 (*)
|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.20 -> 1.7.10 (*)
|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.20 -> 1.7.10 (*)
|    |    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1 -> 1.6.1 (*)
|    |    +--- androidx.lifecycle:lifecycle-runtime-ktx:2.5.0 -> 2.5.1
|    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    +--- androidx.lifecycle:lifecycle-runtime:2.5.1 (*)
|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.10 (*)
|    |    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1 (*)
|    |    +--- androidx.lifecycle:lifecycle-service:2.3.1
|    |    |    \--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.5.1 (*)
|    |    +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1 -> 2.5.1
|    |    |    +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 (*)
|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.10 (*)
|    |    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1 (*)
|    |    +--- androidx.work:work-runtime-ktx:2.5.0
|    |    |    +--- androidx.work:work-runtime:2.5.0
|    |    |    |    +--- com.google.guava:listenablefuture:1.0
|    |    |    |    \--- androidx.lifecycle:lifecycle-livedata:2.1.0 -> 2.3.1 (*)
|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.21 -> 1.7.10 (*)
|    |    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1 -> 1.6.1 (*)
|    |    +--- com.squareup.retrofit2:retrofit:2.9.0
|    |    |    \--- com.squareup.okhttp3:okhttp:3.14.9
|    |    |         \--- com.squareup.okio:okio:1.17.2
|    |    +--- com.squareup.retrofit2:converter-gson:2.9.0
|    |    |    +--- com.squareup.retrofit2:retrofit:2.9.0 (*)
|    |    |    \--- com.google.code.gson:gson:2.8.5 -> 2.8.7
|    |    +--- com.squareup.okhttp3:okhttp:3.12.1 -> 3.14.9 (*)
|    |    +--- com.squareup.okhttp3:logging-interceptor:3.12.1
|    |    |    \--- com.squareup.okhttp3:okhttp:3.12.1 -> 3.14.9 (*)
|    |    +--- com.google.code.gson:gson:2.8.7
|    |    +--- com.github.bumptech.glide:glide:4.12.0
|    |    |    +--- com.github.bumptech.glide:gifdecoder:4.12.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.3.0
|    |    |    +--- com.github.bumptech.glide:disklrucache:4.12.0
|    |    |    +--- com.github.bumptech.glide:annotations:4.12.0
|    |    |    +--- androidx.fragment:fragment:1.0.0 -> 1.3.6 (*)
|    |    |    +--- androidx.vectordrawable:vectordrawable-animated:1.0.0 -> 1.1.0 (*)
|    |    |    \--- androidx.exifinterface:exifinterface:1.2.0
|    |    |         \--- androidx.annotation:annotation:1.1.0 -> 1.3.0

符號(hào)的含義:
x.x.x () 該依賴已經(jīng)有了谒兄,將不再重復(fù)依賴摔桦。
x.x.x -> x.x.x 該依賴的版本被箭頭所指的版本代替。
x.x.x -> x.x.x(
) 該依賴的版本被箭頭所指的版本代替承疲,并且該依賴已經(jīng)有了邻耕,不再重復(fù)依賴。

三纪隙、解決依賴沖突

1、去除重復(fù)依賴

implementation (需要去掉重復(fù)包的第三方依賴){ 
  exclude group: 'com.android.support', module: 'support-v4' 
  exclude group: 'com.android.support', module: 'recyclerview-v7' 
}

2扛或、強(qiáng)制使用某一個(gè)版本

allprojects {
  configurations.all {
    resolutionStrategy {
      force ‘com.google.code.gson:gson:2.9.0’
    }
  }
}

注意:并不能去除新增的版本

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绵咱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子熙兔,更是在濱河造成了極大的恐慌悲伶,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件住涉,死亡現(xiàn)場(chǎng)離奇詭異麸锉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)舆声,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門花沉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人媳握,你說我怎么就攤上這事碱屁。” “怎么了蛾找?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵娩脾,是天一觀的道長。 經(jīng)常有香客問我打毛,道長柿赊,這世上最難降的妖魔是什么俩功? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮碰声,結(jié)果婚禮上诡蜓,老公的妹妹穿的比我還像新娘。我一直安慰自己奥邮,他們只是感情好万牺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著洽腺,像睡著了一般脚粟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蘸朋,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天核无,我揣著相機(jī)與錄音,去河邊找鬼藕坯。 笑死团南,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的炼彪。 我是一名探鬼主播吐根,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼辐马!你這毒婦竟也來了拷橘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤喜爷,失蹤者是張志新(化名)和其女友劉穎冗疮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體檩帐,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡术幔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了湃密。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诅挑。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖泛源,靈堂內(nèi)的尸體忽然破棺而出揍障,到底是詐尸還是另有隱情,我是刑警寧澤俩由,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布毒嫡,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏兜畸。R本人自食惡果不足惜努释,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咬摇。 院中可真熱鬧伐蒂,春花似錦、人聲如沸肛鹏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽在扰。三九已至缕减,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芒珠,已是汗流浹背桥狡。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留皱卓,地道東北人裹芝。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像娜汁,于是被迫代替她去往敵國和親嫂易。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容