【问题标题】:Android java.lang.ClassNotFoundException (webrtc)Android java.lang.ClassNotFoundException (webrtc)
【发布时间】:2017-01-02 18:28:44
【问题描述】:

我的项目 reference webrtcpeer-android 作为 library ,当它在设备上运行 (android 4.4.4 api 17) 时,它崩溃,错误:

08-26 11:53:38.959 6712-6712/fi.vtt.nubotest W/System.err: java.lang.NoClassDefFoundError: org/webrtc/MediaCodecVideoDecoder$DecoderOutputBufferInfo 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 java.lang.Runtime.nativeLoad(Native Method) 08-26 11:53:38.969 6712-6712/fi.vtt .nu​​botest W/System.err:在 java.lang.Runtime.doLoad(Runtime.java:421) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err:在 java.lang .Runtime.loadLibrary(Runtime.java:362) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 java.lang.System.loadLibrary(System.java:526) 08 -26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err:在 org.webrtc.Logging.(Logging.java:27) 08-26 11:53:38.969 6712-6712/fi。 vtt.nubotest W/System.err:在 org.webrtc.VideoRendererGui.setView(VideoRendererGui.java:416) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err:在 fi。 vtt.nubotest.PeerVideoActivity.onCreate(PeerVideoActivity.java:177) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 android.app.Activity.performCreate(Activity.java: 5303) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1091) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2165) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255) 08-26 11:53:38.969 6712- 6712/fi.vtt.nubotest W/System.err:在 android.app.ActivityThread.access$800(ActivityThread.java:142) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System。错误:在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err:在 android.os.Handler.dispatchMessage (Handler.java:102) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 android.os.Looper.loop(Looper.java:136) 08-26 11: 53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 android.app.ActivityThread.main(ActivityThread.java:5217) 08-26 11:53:38.969 6712-6712/ fi.vtt.nubotest W/System.err: 在 java.lang.reflect.Method.invokeNative(Native Method) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 java .lang.reflect.Method.invoke(Method.java:515) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err:在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller .run(ZygoteInit.java:818) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634 ) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: at dalvik.system.NativeStart.main(Native Method) 08-26 11:53:38.969 6712-6712/fi。 vtt.nubotest W/System.err:原因:java.lang.ClassNotFoundException:在路径上找不到类“org.webrtc.MediaCodecVideoDecoder$DecoderOutputBufferInfo”:DexPathList [[zip 文件“/data/app/fi .vtt.nubotest-2.apk"],nativeLibraryDirectories=[/data/app-lib/fi.vtt.nubotest-2, /vendor/lib, /system/lib]] 08-26 11:53 :38.969 6712-6712/fi.vtt.nubotest W/System.err:在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 java.lang.ClassLoader.loadClass(ClassLoader.java :497) 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest W/System.err: 在 java.lang.ClassLoader.loadClass(ClassLoader.java:457) 08-26 11:53:38.969 6712 -6712/fi.vtt.nubotest W/System.err: ... 21 更多 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest E/rtc: # # ../../talk/app/webrtc/java/jni/classreferenceholder.cc 中的致命错误,第 136 行 # 检查失败:!jni->ExceptionCheck() # FindClass 期间出错:org/webrtc/MediaCodecVideoDecoder$DecoderOutputBufferInfo # 08-26 11:53:38.969 6712-6712/fi.vtt.nubotest A/libc:致命信号 6 (SIGABRT) 位于 0x00001a38 (code=-6),线程 6712 (fi.vtt.nubotest)

但是当我使用webtrcpeer-android 作为罐子时,它工作正常,有人可以帮助我,谢谢!

Android ClassNotFoundException: Didn't find class on path

Android ClassNotFoundException: Didn't find class on path

以上方法我都试过了,还是不行。

【问题讨论】:

  • 你检查 jar 冲突了吗?
  • 是的,我已经检查过了。很正常
  • 嘿,我现在有一个类似的问题,这个错误:java.lang.NoClassDefFoundError: Failed resolution of: Lorg/webrtc/Logging;。我怎样才能防止这个错误,你知道吗?
  • same here.. 终于有人处理 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/webrtc/Logging;错误?
  • 嘿,我的问题的原因是webrtcpeer-android库。它的作者已经解决了这个问题,使用最新版本,它会很好。

标签: java android classnotfoundexception


【解决方案1】:

在您的 proguard-rules.pro 中添加以下行

-keep class org.webrtc.** { *; }

【讨论】:

    猜你喜欢
    • 2017-04-16
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多