在Gradle构建中出现重复的类,在Android Studio应用程序中。

huangapple go评论117阅读模式
英文:

Duplicate classes in Gradle build, in Android Studio Application

问题

  1. 我已经为这个问题纠结了几个小时,当我添加这个特定的依赖时,我目前遇到了一个重复类的错误。
  2. implementation 'com.google.apis:google-api-services-vision:v1-rev369-1.23.0'
  3. 我的 App Build.gradle 文件如下:
  4. apply plugin: 'com.android.application'
  5. apply plugin: 'kotlin-android'
  6. apply plugin: 'com.google.gms.google-services'
  7. android {
  8. compileSdkVersion 30
  9. buildToolsVersion "30.0.2"
  10. defaultConfig {
  11. applicationId "com.example.digitaldocs"
  12. minSdkVersion 16
  13. targetSdkVersion 30
  14. versionCode 1
  15. versionName "1.0"
  16. multiDexEnabled true
  17. vectorDrawables.useSupportLibrary = true
  18. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  19. }
  20. buildTypes {
  21. release {
  22. minifyEnabled false
  23. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  24. }
  25. }
  26. }
  27. dependencies {
  28. implementation fileTree(dir: 'libs', include: ['*.jar'])
  29. implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
  30. implementation 'com.google.android.material:material:1.0.0-beta01'
  31. implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
  32. implementation 'androidx.vectordrawable:vectordrawable:1.0.0-beta01'
  33. implementation 'com.google.firebase:firebase-database:19.3.0'
  34. implementation 'androidx.legacy:legacy-support-v4:1.0.0'
  35. implementation 'com.android.support:support-annotations:28.0.0'
  36. implementation 'com.google.firebase:firebase-ml-vision:24.0.3'
  37. testImplementation 'junit:junit:4.12'
  38. implementation 'com.android.support:multidex:1.0.3'
  39. //noinspection GradleCompatible
  40. implementation 'com.android.support:support-v4:26.1.0'
  41. implementation 'com.google.firebase:firebase-auth:19.4.0'
  42. implementation 'com.google.firebase:firebase-firestore:21.6.0'
  43. androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
  44. androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
  45. implementation "androidx.core:core-ktx:+"
  46. implementation 'com.google.apis:google-api-services-vision:v1-rev369-1.23.0'
  47. implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
  48. implementation 'androidx.annotation:annotation:1.1.0'
  49. }
  50. repositories {
  51. mavenCentral()
  52. }
  53. 我的项目级 Build.gradle 文件如下:
  54. // 顶层 Build 文件,在这里您可以添加所有子项目/模块都通用的配置选项。
  55. buildscript {
  56. ext.kotlin_version = '1.4.10'
  57. repositories {
  58. google()
  59. jcenter()
  60. }
  61. dependencies {
  62. classpath 'com.android.tools.build:gradle:4.0.1'
  63. classpath 'com.google.gms:google-services:4.3.3'
  64. classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  65. // 注意:不要在此处放置应用程序的依赖项;它们应属于各个模块的 build.gradle 文件中
  66. }
  67. }
  68. allprojects {
  69. repositories {
  70. google()
  71. jcenter()
  72. }
  73. }
  74. task clean(type: Delete) {
  75. delete rootProject.buildDir
  76. }
  77. 我的堆栈跟踪如下:
  78. Duplicate class com.google.common.annotations.Beta found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  79. Duplicate class com.google.common.annotations.GwtCompatible found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  80. Duplicate class com.google.common.annotations.GwtIncompatible found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  81. Duplicate class com.google.common.annotations.VisibleForTesting found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  82. Duplicate class com.google.common.base.Absent found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  83. Duplicate class com.google.common.base.AbstractIterator found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  84. Duplicate class com.google.common.base.AbstractIterator$1 found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  85. Duplicate class com.google.common.base.AbstractIterator$State found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  86. Duplicate class com.google.common.base.Ascii found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  87. Duplicate class com.google.common.base.CaseFormat found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  88. Duplicate class com.google.common.base.CaseFormat$1 found in modules jetified-guava
  89. <details>
  90. <summary>英文:</summary>
  91. I have been stumped on this problem for hours, I am currently getting a duplicate classes error, when adding this specific dependency.
  92. implementation &#39;com.google.apis:google-api-services-vision:v1-rev369-1.23.0&#39;
  93. My App Level Build.gradle file is
  94. apply plugin: &#39;com.android.application&#39;
  95. apply plugin: &#39;kotlin-android&#39;
  96. apply plugin: &#39;com.google.gms.google-services&#39;
  97. android {
  98. compileSdkVersion 30
  99. buildToolsVersion &quot;30.0.2&quot;
  100. defaultConfig {
  101. applicationId &quot;com.example.digitaldocs&quot;
  102. minSdkVersion 16
  103. targetSdkVersion 30
  104. versionCode 1
  105. versionName &quot;1.0&quot;
  106. multiDexEnabled true
  107. vectorDrawables.useSupportLibrary = true
  108. testInstrumentationRunner &quot;androidx.test.runner.AndroidJUnitRunner&quot;
  109. }
  110. buildTypes {
  111. release {
  112. minifyEnabled false
  113. proguardFiles getDefaultProguardFile(&#39;proguard-android-optimize.txt&#39;), &#39;proguard-rules.pro&#39;
  114. }
  115. }
  116. }
  117. dependencies {
  118. implementation fileTree(dir: &#39;libs&#39;, include: [&#39;*.jar&#39;])
  119. implementation &#39;androidx.appcompat:appcompat:1.0.0-beta01&#39;
  120. implementation &#39;com.google.android.material:material:1.0.0-beta01&#39;
  121. implementation &#39;androidx.constraintlayout:constraintlayout:1.1.2&#39;
  122. implementation &#39;androidx.vectordrawable:vectordrawable:1.0.0-beta01&#39;
  123. implementation &#39;com.google.firebase:firebase-database:19.3.0&#39;
  124. implementation &#39;androidx.legacy:legacy-support-v4:1.0.0&#39;
  125. implementation &#39;com.android.support:support-annotations:28.0.0&#39;
  126. implementation &#39;com.google.firebase:firebase-ml-vision:24.0.3&#39;
  127. testImplementation &#39;junit:junit:4.12&#39;
  128. implementation &#39;com.android.support:multidex:1.0.3&#39;
  129. //noinspection GradleCompatible
  130. implementation &#39;com.android.support:support-v4:26.1.0&#39;
  131. implementation &#39;com.google.firebase:firebase-auth:19.4.0&#39;
  132. implementation &#39;com.google.firebase:firebase-firestore:21.6.0&#39;
  133. androidTestImplementation &#39;androidx.test:runner:1.1.0-alpha4&#39;
  134. androidTestImplementation &#39;androidx.test.espresso:espresso-core:3.1.0-alpha4&#39;
  135. implementation &quot;androidx.core:core-ktx:+&quot;
  136. implementation &#39;com.google.apis:google-api-services-vision:v1-rev369-1.23.0&#39;
  137. implementation &quot;org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version&quot;
  138. implementation &#39;androidx.annotation:annotation:1.1.0&#39;
  139. }
  140. repositories {
  141. mavenCentral()
  142. }
  143. my project level build.gradle file is
  144. // Top-level build file where you can add configuration options common to all sub-projects/modules.
  145. buildscript {
  146. ext.kotlin_version = &#39;1.4.10&#39;
  147. repositories {
  148. google()
  149. jcenter()
  150. }
  151. dependencies {
  152. classpath &#39;com.android.tools.build:gradle:4.0.1&#39;
  153. classpath &#39;com.google.gms:google-services:4.3.3&#39;
  154. classpath &quot;org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version&quot;
  155. // NOTE: Do not place your application dependencies here; they belong
  156. // in the individual module build.gradle files
  157. }
  158. }
  159. allprojects {
  160. repositories {
  161. google()
  162. jcenter()
  163. }
  164. }
  165. task clean(type: Delete) {
  166. delete rootProject.buildDir
  167. }
  168. **My Stack Trace is as follows**
  169. Duplicate class com.google.common.annotations.Beta found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  170. Duplicate class com.google.common.annotations.GwtCompatible found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  171. Duplicate class com.google.common.annotations.GwtIncompatible found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  172. Duplicate class com.google.common.annotations.VisibleForTesting found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  173. Duplicate class com.google.common.base.Absent found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  174. Duplicate class com.google.common.base.AbstractIterator found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  175. Duplicate class com.google.common.base.AbstractIterator$1 found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  176. Duplicate class com.google.common.base.AbstractIterator$State found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  177. Duplicate class com.google.common.base.Ascii found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  178. Duplicate class com.google.common.base.CaseFormat found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  179. Duplicate class com.google.common.base.CaseFormat$1 found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  180. Duplicate class com.google.common.base.CaseFormat$2 found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  181. Duplicate class com.google.common.base.CaseFormat$3 found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  182. Duplicate class com.google.common.base.CaseFormat$4 found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  183. Duplicate class com.google.common.base.CaseFormat$5 found in modules jetified-guava-28.1-android.jar (com.google.guava:guava:28.1-android) and jetified-guava-jdk5-17.0.jar (com.google.guava:guava-jdk5:17.0)
  184. </details>
  185. # 答案1
  186. **得分**: 2
  187. ```plaintext
  188. 将以下内容替换为:
  189. implementation 'com.google.apis:google-api-services-vision:v1-rev369-1.23.0'
  190. 用以下内容替换:
  191. implementation ('com.google.apis:google-api-services-vision:v1-rev369-1.23.0'){
  192. exclude group:'com.google.guava'
  193. }
英文:

Replace this

  1. implementation &#39;com.google.apis:google-api-services-vision:v1-rev369-1.23.0&#39;

With this

  1. implementation (&#39;com.google.apis:google-api-services-vision:v1-rev369-1.23.0&#39;){
  2. exclude group:&#39;com.google.guava&#39;
  3. }

huangapple
  • 本文由 发表于 2020年10月3日 10:38:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/64180196.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定