2017-08-10 17 views
0

私のアプリはプレイストアに公開されています。それはすべてのデバイスでcarshingではありません。私はいくつかのデバイスだけでこのクラッシュを見ることができます。この問題を解決するのを手伝ってください。解決方法java.lang.NoClassDefFoundErrorクラッシュ

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/auth/api/phone/SmsRetriever; at com.facebook.accountkit.internal.PhoneLoginController.createSmsToken(PhoneLoginController.java:250) at com.facebook.accountkit.internal.PhoneLoginController.logIn(PhoneLoginController.java:188) at com.facebook.accountkit.internal.LoginManager.logInWithPhoneNumber(LoginManager.java:372) at com.facebook.accountkit.internal.AccountKitController.logInWithPhoneNumber(AccountKitController.java:627) at com.facebook.accountkit.ui.PhoneLoginFlowManager.logInWithPhoneNumber(PhoneLoginFlowManager.java:57) at com.facebook.accountkit.ui.ActivityPhoneHandler.onPhoneLoginComplete(ActivityPhoneHandler.java:189) at com.facebook.accountkit.ui.AccountKitActivity$1.onReceive(AccountKitActivity.java:176) at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297) at android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46) at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.auth.api.phone.SmsRetriever" on path: DexPathList[[zip file "/data/app/gharkadabba.gharkadabba-1/base.apk"],nativeLibraryDirectories=[/data/app/gharkadabba.gharkadabba-1/lib/x86, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at com.facebook.accountkit.internal.PhoneLoginController.createSmsToken(PhoneLoginController.java:250)  at com.facebook.accountkit.internal.PhoneLoginController.logIn(PhoneLoginController.java:188)  at com.facebook.accountkit.internal.LoginManager.logInWithPhoneNumber(LoginManager.java:372)  at com.facebook.accountkit.internal.AccountKitController.logInWithPhoneNumber(AccountKitController.java:627)  at com.facebook.accountkit.ui.PhoneLoginFlowManager.logInWithPhoneNumber(PhoneLoginFlowManager.java:57)  at com.facebook.accountkit.ui.ActivityPhoneHandler.onPhoneLoginComplete(ActivityPhoneHandler.java:189)  at com.facebook.accountkit.ui.AccountKitActivity$1.onReceive(AccountKitActivity.java:176)  at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297)  at android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46)  at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.auth.api.phone.SmsRetriever at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

私はモトG(第三&第4世代)、クラッシュを持つ1つの+ 1つの装置を見ることができます。

私は以下の行をProGuardファイルに追加しました。

-ignorewarnings -keep class * { public private *; }

+0

見つからないクラスは何ですか?例外からは抜けています... –

+0

プロガード設定ファイル –

+0

@NileshDeokarを追加してください。プロガードのファイルコードで更新されました。 –

答えて

1

SMS Retriever APIはGoogle Playサービスv10.2で利用でき、OTP SMSの自動確認に使用されます。アマゾン消防機器や中国の地域内のデバイスのように -

https://developers.google.com/identity/sms-retriever/

このAPIは、Googleがインストールサービスを再生していないデバイスで使用することはできません。

このAPIを使用している場合は、このAPIにアクセスする前に、Playサービスがデバイスにインストールされているかどうかを確認する必要があります。

あなたの例外を見ると、このAPIは一部のFacebookキットで使用されているようです。

+0

はい、Facebookアカウントキットで例外が発生します。 –

+0

クラッシュレポートを確認し、これらのクラッシュがPlayサービスv10.2を搭載していないデバイスでのみ発生するかどうかを確認できます – Bob

関連する問題