首先:让我解释一下情况,我有一个与google Api配合使用的sdk并实现了很多依赖关系。然后我将lib实现到我的新应用中,该新应用也实现了依赖关系。一切正常,直到我尝试运行该应用程序。
当我在设备上运行(在设备上)时,出现以下错误消息:
Error: Program type already present: com.google.android.gms.location.places.zza
Run Code Online (Sandbox Code Playgroud)
在Gradle Log中使用以下stacktrace(并非全部)
Program type already present: com.google.android.gms.location.places.zza
Learn how to resolve the issue at https://developer.android.com/studio/buil/dependencies#duplicate_classes. at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104)
at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
Run Code Online (Sandbox Code Playgroud)
这是build.gradle项目(lib)
buildscript {
repositories {
google()
jcenter()
}
dependencies {
//**------------Added Recently----------------**//
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.1.0'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
// NOTE: Do not place your application dependencies here; they belong
// in the …Run Code Online (Sandbox Code Playgroud)