程序类型已存在:com.google.android.gms.common.util.VisibleForTesting -':app:transformDexArchiveWithExternalL
Posted
技术标签:
【中文标题】程序类型已存在:com.google.android.gms.common.util.VisibleForTesting -\':app:transformDexArchiveWithExternalLibsDexMergerForDebug\' [重复]【英文标题】:Program type already present: com.google.android.gms.common.util.VisibleForTesting -':app:transformDexArchiveWithExternalLibsDexMergerForDebug' [duplicate]程序类型已存在:com.google.android.gms.common.util.VisibleForTesting -':app:transformDexArchiveWithExternalLibsDexMergerForDebug' [重复] 【发布时间】:2018-10-14 03:14:40 【问题描述】:每当我尝试在 android Studio 3.1.2 中运行程序时都会收到此错误。
程序类型已存在:com.google.android.gms.common.util.VisibleForTesting Messagekind=ERROR, text=Program type already present: com.google.android.gms.common.util.VisibleForTesting, sources=[Unknown source file], tool name=Optional.of(D8)
我的 gradle 模块应用程序:
buildscript
repositories
google()
jcenter()
maven
url "https://maven.google.com" // Google's Maven repository
dependencies
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.google.gms:google-services:3.2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
allprojects
repositories
google()
jcenter()
maven
url "https://maven.google.com"
maven
url "https://maven.fabric.io/public"
task clean(type: Delete)
delete rootProject.buildDir
这是我的 Gradle 模块应用程序
apply plugin: 'com.android.application'
android
compileSdkVersion 27
defaultConfig
applicationId "myproject"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
compileOptions
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
dependencies
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'enter code here
// FirebaseUI for Firebase Auth
implementation 'com.firebaseui:firebase-ui-auth:3.3.1'
implementation 'com.google.firebase:firebase-auth:15.0.0'
//Firebase RealTime Database
implementation 'com.google.firebase:firebase-database:15.0.0'
// FirebaseUI for Cloud Storage
implementation 'com.firebaseui:firebase-ui-storage:3.3.1'
implementation 'com.google.firebase:firebase-storage:15.0.0'
//circleimageView
implementation 'de.hdodenhof:circleimageview:2.1.0'
//Libreria utilizada para medir dimension de layout de chat cuando cambia de tamaño
implementation 'net.the4thdimension:android-utils:2.0.4'
//To scale every screen sizes , sp
implementation 'com.intuit.sdp:sdp-android:1.0.5'
//authenticacion para formato de numero de telefono
implementation 'com.googlecode.libphonenumber:libphonenumber:8.4.2'
implementation 'com.weiwangcn.betterspinner:library-material:1.1.0'
implementation 'com.amitshekhar.android:android-networking:1.0.0'
//Volley
implementation 'com.android.volley:volley:1.0.+'
implementation 'org.apache.commons:commons-lang3:3.6'
apply plugin: 'com.google.gms.google-services'
【问题讨论】:
也检查一下:***.com/questions/50182756/… 【参考方案1】:如果您不使用任何 jar,我通过删除未使用的 jar 或注释此行来解决此问题 实现 fileTree(dir: 'libs', include: ['*.jar'])
【讨论】:
【参考方案2】:如果将 google play gradle 插件版本更新到最新版本后问题仍然存在,使用 Android Studio 文件搜索在整个项目中搜索给定文件并使用相同的包名。问题是具有相同包和文件名的文件存在于两个不同的 jar 中(在我的情况下,一个 jar 是旧的 google 分析服务 jar,它已手动下载并添加为项目中的库)。@987654321 @我们必须解决这个冲突(我已经删除了我的旧 jar,因为它不再需要)并且项目将构建。
【讨论】:
嘿,@Sidharth Sethia 这个库有什么替代品吗? 这为我解决了问题:) 这是我读过的最有用的答案。谢谢。 你不知道这为我节省了多少!!!我整天都在寻找这个问题,这帮助我找到了哪个包有问题!非常感谢!【参考方案3】:VisibleForTesting.java 是 Support Annotations 库 中的一个类,它会导致该问题,如果您导入了该库的多个版本,您将面临您提到的 D8 投诉,如果您的项目有多个模块尝试在您的 gradle.builds 中使用 api, implmentation 而不是 compile,并尝试仅使用提到的一个版本图书馆,这对我有用!
【讨论】:
不起作用:/还有什么?【参考方案4】:我做了这里向我建议的更改,但问题仍然存在!!。
classpath 'com.google.gms:google-services:3.3.0'
dependencies
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.google.firebase:firebase-messaging:15.0.2'
implementation 'com.google.firebase:firebase-invites:15.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
compile 'com.google.firebase:firebase-core:15.0.2'
// FirebaseUI for Firebase Auth
implementation 'com.google.firebase:firebase-auth:15.1.0'
//Firebase RealTime Database
implementation 'com.google.firebase:firebase-database:15.0.1'
// FirebaseUI for Cloud Storage
implementation 'com.google.firebase:firebase-storage:15.0.2'
implementation 'com.google.android.gms:play-services-gcm:15.0.0'
//circleimageView
implementation 'de.hdodenhof:circleimageview:2.1.0'
//Libreria utilizada para medir dimension de layout de chat cuando cambia de tamaño
implementation 'net.the4thdimension:android-utils:2.0.4'
//To scale every screen sizes , sp
implementation 'com.intuit.sdp:sdp-android:1.0.5'
//authenticacion para formato de numero de telefono
implementation 'com.googlecode.libphonenumber:libphonenumber:8.4.2'
implementation 'com.weiwangcn.betterspinner:library-material:1.1.0'
implementation 'com.amitshekhar.android:android-networking:1.0.0'
//Volley
implementation 'com.android.volley:volley:1.0.+'
implementation 'org.apache.commons:commons-lang3:3.6'
应用插件:'com.google.gms.google-services'
【讨论】:
嘿,你解决了吗? 解决这个问题的方法是打开新项目,不要使用最新版本的android和firebase,我的意思是sdkversion 26。 嘿,我们为我们的案例解决了这个问题!原来我们的项目有一个遗留的谷歌分析 jar,它有com.google.android.gms.common.util.VisibleForTesting
,它与 firebase-common 中的那个冲突【参考方案5】:
请更改以下代码行:
implementation 'com.google.firebase:firebase-auth:15.0.0'
implementation 'com.google.firebase:firebase-storage:15.0.0'
到
implementation 'com.google.firebase:firebase-auth:15.1.0'
implementation 'com.google.firebase:firebase-storage:15.0.2'
更多信息here.
和
classpath 'com.google.gms:google-services:3.2.1'
到
classpath 'com.google.gms:google-services:3.3.0'
【讨论】:
你试过我上面的解决方案了吗? 不工作。同样的错误。 试试这个:classpath 'com.google.gms:google-services:3.3.1' 已将 google-services 更新到 4.0.1 仍然无法正常工作:/【参考方案6】:Firebase Android SDK now have independent version numbers,允许更频繁、更灵活的更新。
将google play gradle插件版本更新到最新版本,目前为3.3.0。
classpath 'com.google.gms:google-services:3.3.0'
【讨论】:
最后我解决了这个问题,创建了新项目,按照这里的建议完成了。不得不说,我们已经在运行的项目,当谷歌更新出现这种自发错误的时候,真是烦人啊!!! 嗨@LilianaJ,如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。以上是关于程序类型已存在:com.google.android.gms.common.util.VisibleForTesting -':app:transformDexArchiveWithExternalL的主要内容,如果未能解决你的问题,请参考以下文章
程序类型已存在:android.support.v7.util.AsyncListUtil $ 1
错误:程序类型已存在:android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat
错误:程序类型已存在:android.support.design.widget.CoordinatorLayout$Behavior