2017-07-18 62 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

相關問題