1

okhttp-3.0.1.jar を使用するとクラッシュします。

 02-25 17:44:33.279: E/AndroidRuntime(30263): FATAL EXCEPTION: main
 02-25 17:44:33.279: E/AndroidRuntime(30263): Process:com.littleapproom.diamondapp, PID: 30263
 02-25 17:44:33.279: E/AndroidRuntime(30263):java.lang.NoClassDefFoundError: Failed resolution  Lokhttp3/MediaType;
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at com.littleapproom.diamondapp.helper.ServiceTask.<clinit>(ServiceTask.java:68)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at com.littleapproom.diamondapp.RegisterActivity.callRegisterApi(RegisterActivity.java:74)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at com.littleapproom.diamondapp.RegisterActivity.onClick(RegisterActivity.java:50)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at android.view.View.performClick(View.java:4785)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at android.view.View$PerformClick.run(View.java:19884)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at android.os.Handler.handleCallback(Handler.java:739)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at  android.os.Handler.dispatchMessage(Handler.java:95)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at android.os.Looper.loop(Looper.java:135)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at android.app.ActivityThread.main(ActivityThread.java:5343)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at java.lang.reflect.Method.invoke(Native Method)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at java.lang.reflect.Method.invoke(Method.java:372)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
 02-25 17:44:33.279: E/AndroidRuntime(30263): Caused by: java.lang.ClassNotFoundException: Didn't find class "okhttp3.MediaType" on path: DexPathList[[zip file "/data/app/com.littleapproom.diamondapp-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
 02-25 17:44:33.279: E/AndroidRuntime(30263):   ... 13 more
 02-25 17:44:33.279: E/AndroidRuntime(30263):   Suppressed: java.lang.ClassNotFoundException: okhttp3.MediaType
 02-25 17:44:33.279: E/AndroidRuntime(30263):       at java.lang.Class.classForName(Native Method)
 02-25 17:44:33.279: E/AndroidRuntime(30263):       at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
 02-25 17:44:33.279: E/AndroidRuntime(30263):       at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
 02-25 17:44:33.279: E/AndroidRuntime(30263):       at   java.lang.ClassLoader.loadClass(ClassLoader.java:504)
 02-25 17:44:33.279: E/AndroidRuntime(30263):       ... 14 more
  02-25 17:44:33.279: E/AndroidRuntime(30263):  Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

okhttp-3.0.1.jarは正常に 動作し、欠落しているクラスがあります。解決のために助けてください。

4

2 に答える 2

3

これは答えではないかもしれません。コメントするのに十分な担当者がいないため、これを回答にしています。

okhttp を使用している可能性のあるカスタム ライブラリをインポートしましたか、それともプロジェクトで直接 okhttp を使用していますか? 私も、okhttp を使用している可能性のあるライブラリをインポートしていたときに、この問題に遭遇しました。この問題を克服するには、コードで使用していませんが、インポートされた aar で使用されていましたが、この問題を克服するために、明示的に gradle に含める必要があります。ケースは同じではないかもしれませんが、プロジェクト構造や関連コードなど、これに関する詳細情報を共有すると、これを解決できる場合があります。

于 2016-11-16T13:25:04.463 に答える