[Android] Log 出现 java.lang.LinkageError 时可能有用的解决方法

    Stack message:

    01-21 07:24:21.955 24149-24182/com.xxx.xxxx E/AndroidRuntime: FATAL EXCEPTION: remote connection
    Process: com.xxx.xxxx, PID: 24149
    java.lang.LinkageError: Class com.xxx.xxxx.IRemoteModule$Stub$Proxy method void com.xxx.xxxx.IRemoteModule$Stub$Proxy.register(com.xxx.xxxx.IModuleCallback, int, int) resolves differently in interface com.xxx.xxxx.IRemoteModule: Parameter 0 type mismatch: java.lang.Class<com.xxx.xxx.IModuleCallback,dalvik.system.PathClassLoader>(0x12f9cfb0) vs java.lang.Class<com.xxx.xxx.IModuleCallback,null>(0x12f3d3e0) (declaration of 'com.xxx.xxxx.IRemoteModule$Stub$Proxy' appears in /data/app/(******)/base.apk)
    (*********************************)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:148)
    at android.os.HandlerThread.run(HandlerThread.java:61)

    stackoverflow上有人说是重复引入jar包导致的问题,这可能这只是一种情况,对于我是另一种情况。

    解决方法:可能需要添加对dex分包的支持。
    在application的build.gradle中打开multiDex

    dependencies com.android.support:multidex

    重写attachBaseContext方法

    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自n0elle's Blog,原文地址《[Android] Log 出现 java.lang.LinkageError 时可能有用的解决方法
    标签:
    喜欢 | 1
    分享:

还没有人抢沙发呢~