2017-07-18 92 views
0

我得到这个奇怪的错误抛出java.lang.ClassNotFoundException:没有找到路径类 “com.google.android.gms.dynamic.zzf”:DexPathList

产生的原因:java.lang中.ClassNotFoundException:未在路径中找到类“com.google.android.gms.dynamic.zzf”:DexPathList [[zip文件“/data/app/com.dancam.chords-2/base.apk"],nativeLibraryDirectories = [/ data/app/com.dancam.chords-2/lib/arm64,/ system/lib64,/ vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java。 lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoade r.java:312) at com.google.android.gms.internal.zzel。(Unknown Source) at com.google.android.gms.internal.zzel。(Unknown Source) at com.google.android。 gms.internal.zzel.zzeU(未知来源) at com.google.android.gms.internal.zzfh.zza(未知来源) at com.google.android.gms.ads.MobileAds.initialize(未知来源) 在android.app.Activity.performCreate(Activity.java: 6684) at android.app.Instrumentation.callActivi tyOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2637) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2751) at android.app.ActivityThread.-wrap12 (ActivityThread.java) at android.app.ActivityThread $ h.handleMessage(ActivityThread.java:1496) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper (Native Method) (android)在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:889) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)

在抽屉, 105行

MobileAds.initialize(getApplicationContext(), "ca-app-pub-nnnnnnnnnnnnnnnnnnnnnnn"); 

这是我第一次在Google上看到这个错误,并且在Google上搜索我甚至找不到人们在谈论它。

你们有没有人知道为什么会发生这种情况,以及如何解决它?

更多信息:

实现我不得不修改库之后我build.gradle并添加

defaultConfig { 
... 
multiDexEnabled true 
} 

dataBinding { 
enabled = true 
} 

可以在这个变化有什么做的错误?

+0

您是否在广告的build.gradle文件中添加了依赖关系? – mthakuri

+0

@ mthakuri当然,我做过,它曾经在添加这个库之前工作 – Daniele

+0

你可以从设备或模拟器卸载应用程序,然后重新运行干净的构建?我希望你已经正确地遵循了mutidex(https://developer.android.com/studio/build/multidex.html)集成和依赖关系。 – mthakuri

回答

1

我设法解决这个问题,你可以从波纹管链接下载。我在这样的应用中实现了firebase

compile 'com.google.firebase:firebase-ads:10.2.0' 
compile 'com.google.firebase:firebase-invites:10.2.0' 
compile 'com.google.firebase:firebase-crash:10.2.0' 
compile 'com.google.firebase:firebase-storage:11.0.2' 

这个依赖项之间的版本不匹配导致应用程序崩溃。改变最后的依赖关系到

compile 'com.google.firebase:firebase-storage:10.2.0' 

解决了我的问题。

0

问题正在发生,因为google-play-services.jar未位于路径上。是否已添加并将jar添加到类路径或jar文件路径的正确位置。如果你不使用这个,那么下载jar并添加到类路径中。如果你是使用Maven的项目,您可以用波纹管的依赖

http://www.java2s.com/Code/Jar/g/Downloadgoogleplayservicesjar.htm

<dependency> 
    <groupId>com.google.android</groupId> 
    <artifactId>android</artifactId> 
    <version>4.1.1.4</version> 
    <scope>provided</scope> 
</dependency> 
+0

这是奇怪的实施图书馆之前,一切工作正常。这可能是因为我启用了数据绑定?这是我改变的唯一的事情。我也启用multiDexEnabled实际上 – Daniele

+0

我试着重新安装谷歌播放服务,但错误仍然存​​在 – Daniele

+0

然后尝试这...右键单击项目,然后单击属性。 “属性”面板将打开。转到Java构建路径 - >订单和导出。从下面的列表中取消选中“Android依赖关系”旁边的复选框。最后清理你的项目并运行。 – Sharma

相关问题