【发布时间】:2018-01-18 21:03:24
【问题描述】:
我的应用已在 Play 商店上线。它并非在所有设备中都崩溃,但我只能在少数设备中看到这种崩溃。请帮我解决这个问题。
java.lang.NoClassDefFoundError:解析失败: Lcom/google/android/gms/auth/api/phone/SmsRetriever;在 com.facebook.accountkit.internal.PhoneLoginController.createSmsToken(PhoneLoginController.java:250) 在 com.facebook.accountkit.internal.PhoneLoginController.logIn(PhoneLoginController.java:188) 在 com.facebook.accountkit.internal.LoginManager.logInWithPhoneNumber(LoginManager.java:372) 在 com.facebook.accountkit.internal.AccountKitController.logInWithPhoneNumber(AccountKitController.java:627) 在 com.facebook.accountkit.ui.PhoneLoginFlowManager.logInWithPhoneNumber(PhoneLoginFlowManager.java:57) 在 com.facebook.accountkit.ui.ActivityPhoneHandler.onPhoneLoginComplete(ActivityPhoneHandler.java:189) 在 com.facebook.accountkit.ui.AccountKitActivity$1.onReceive(AccountKitActivity.java:176) 在 android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297) 在 android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46) 在 android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 引起 作者:java.lang.ClassNotFoundException:找不到类 路径上的“com.google.android.gms.auth.api.phone.SmsRetriever”: DexPathList[[压缩文件 "/data/app/gharkadabba.gharkadabba-1/base.apk"],nativeLibraryDirectories=[/data/app/gharkadabba.gharkadabba-1/lib/x86, /vendor/lib, /system/lib]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:511) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:469) 在 com.facebook.accountkit.internal.PhoneLoginController.createSmsToken(PhoneLoginController.java:250) 在 com.facebook.accountkit.internal.PhoneLoginController.logIn(PhoneLoginController.java:188) 在 com.facebook.accountkit.internal.LoginManager.logInWithPhoneNumber(LoginManager.java:372) 在 com.facebook.accountkit.internal.AccountKitController.logInWithPhoneNumber(AccountKitController.java:627) 在 com.facebook.accountkit.ui.PhoneLoginFlowManager.logInWithPhoneNumber(PhoneLoginFlowManager.java:57) 在 com.facebook.accountkit.ui.ActivityPhoneHandler.onPhoneLoginComplete(ActivityPhoneHandler.java:189) 在 com.facebook.accountkit.ui.AccountKitActivity$1.onReceive(AccountKitActivity.java:176) 在 android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297) 在 android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46) 在 android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116) 在 android.os.Handler.dispatchMessage(Handler.java:102) android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(Native Method) 位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 抑制:java.lang.ClassNotFoundException: com.google.android.gms.auth.api.phone.SmsRetriever 在 java.lang.Class.classForName(Native Method) 在 java.lang.BootClassLoader.findClass(ClassLoader.java:781) 在 java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:504) 引起:java.lang.NoClassDefFoundError: Class not found using 引导类加载器;没有可用的堆栈跟踪
我可以看到 Moto G(第 3 代和第 4 代),一加一设备崩溃了。
我在 ProGuard 文件中添加了以下行。
-忽略警告 -保持类* {公共私人*; }
【问题讨论】:
-
找不到的类是什么?异常中缺少它...
-
添加你的 pro-guard 配置文件
-
@NileshDeokar。更新了 pro-guard 文件代码。
-
此类设备中是否存在特定类不存在的可能性?使用反射怎么样?
-
不,那是不可能的。 @斯瓦蒂。它的安卓 6/7。这些是最新的安卓版本。如果我将此添加到 gradle.然后只有它崩溃了。编译 'com.google.firebase:firebase-messaging:11.0.4' 编译 'com.google.firebase:firebase-core:11.0.4'
标签: java android facebook noclassdeffounderror account-kit