square / okhttp

Square’s meticulous HTTP client for the JVM, Android, and GraalVM.
https://square.github.io/okhttp/
Apache License 2.0
45.83k stars 9.16k forks source link

okhttp3.internal.Version not found #7213

Closed jikun2008 closed 2 years ago

jikun2008 commented 2 years ago

hello i have a pro i init a sdk it get wrong okhttp3.internal.Version not found i found code i not fount okhttp3.internal.Version it is sdk wrong?

2022-04-04 14:14:40.306 23164-23164/com.yisingle.print.label.lemin E/openSDK_LOG.OpenHttpService: initClient okHttp catch error java.lang.NoClassDefFoundError: Failed resolution of: Lokhttp3/internal/Version; at com.tencent.open.a.e.a(ProGuard:49) at com.tencent.open.a.e.(ProGuard:45) at com.tencent.open.a.f.b(ProGuard:42) at com.tencent.open.a.f.(ProGuard:33) at com.tencent.open.a.f.a(ProGuard:58) at com.tencent.tauth.Tencent.createInstance(ProGuard:178) at com.yisingle.print.label.TencentUtils.regiser(TencentUtils.java:26) at com.yisingle.print.label.App.onCreate(App.java:47) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5877) at android.app.ActivityThread.-wrap1(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1690) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:173) at android.app.ActivityThread.main(ActivityThread.java:6698) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782) Caused by: java.lang.ClassNotFoundException: Didn't find class "okhttp3.internal.Version" on path: DexPathList[[zip file "/data/app/com.yisingle.print.label.lemin-RWEhBcLkJzy_mUxqqsggOg==/base.apk"],nativeLibraryDirectories=[/data/app/com.yisingle.print.label.lemin-RWEhBcLkJzy_mUxqqsggOg==/lib/arm64, /data/app/com.yisingle.print.label.lemin-RWEhBcLkJzy_mUxqqsggOg==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.tencent.open.a.e.a(ProGuard:49)  at com.tencent.open.a.e.(ProGuard:45)  at com.tencent.open.a.f.b(ProGuard:42)  at com.tencent.open.a.f.(ProGuard:33)  at com.tencent.open.a.f.a(ProGuard:58)  at com.tencent.tauth.Tencent.createInstance(ProGuard:178)  at com.yisingle.print.label.TencentUtils.regiser(TencentUtils.java:26)  at com.yisingle.print.label.App.onCreate(App.java:47)  at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1119)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5877)  at android.app.ActivityThread.-wrap1(Unknown Source:0)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1690)  at android.os.Handler.dispatchMessage(Handler.java:105)  at android.os.Looper.loop(Looper.java:173)  at android.app.ActivityThread.main(ActivityThread.java:6698)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782) 

yschimke commented 2 years ago

packages with "okhttp3.internal" prefix are not part of the public API of OkHttp, and should not be used inapps, libraries or SDKs. They get refactored often because they are internal implementation details.

You should report this bug to the SDK and ask them to avoid this, or catch exceptions when it fails.

This will be public API in OkHttp 5.0

https://github.com/square/okhttp/blob/master/okhttp/src/commonMain/kotlinTemplates/okhttp3/OkHttp.kt