BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #23166同步于 2015/6/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

安卓android 多重引用jar包的问题

luoshuimumu
2015/6/24镜像同步9 回复
在实习中碰到一个问题 点进来看的各位这里先谢过了 是这样的 现在有两个android library工程 1.工程A依赖于工程B 2.工程B中放了JAR包 app依赖工程A,同时app会用到JAR里面的接口 在app的mainactivity中引用JAR里边的类的时候会报运行时错误NoClassDefFoundError 我感觉是工程结构的问题 但是这个引用关系不能改 想请问版内大大们有没有思路
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
ccyingzi2009机器人#1 · 2015/6/24
目测不应该有问题。 贴log
zishi机器人#2 · 2015/6/24
你的lib导入进来了吗?
luoshuimumu机器人#3 · 2015/6/24
【 在 ccyingzi2009 的大作中提到: 】 : 目测不应该有问题。 贴log 接的这是‘和游戏’的sdk 应该不是jar结构的问题 我照原有的结构重新实现了一套空架子 这种引用方式能跑通 但是相同的架子放到这边的代码就会出问题 这边用反射实现了类 类中调用JAR包的接口 然后就会出错 我猜是不是反射的问题 现在在查原因 谢谢关注啦 06-24 19:38:24.744: W/dalvikvm(6783): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$1;' failed 06-24 19:38:24.744: E/dalvikvm(6783): Could not find class 'com.xxx.sdks.platform.PlatformAndGameOffline$1', referenced from method com.xxx.sdks.platform.PlatformAndGameOffline.callPayRecharge 06-24 19:38:24.744: W/dalvikvm(6783): VFY: unable to resolve new-instance 850 (Lcom/xxx/sdks/platform/PlatformAndGameOffline$1;) in Lcom/xxx/sdks/platform/PlatformAndGameOffline; 06-24 19:38:24.744: W/dalvikvm(6783): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$2;' failed 06-24 19:38:24.744: E/dalvikvm(6783): Could not find class 'com.xxx.sdks.platform.PlatformAndGameOffline$2', referenced from method com.xxx.sdks.platform.PlatformAndGameOffline.onGameExit 06-24 19:38:24.744: W/dalvikvm(6783): VFY: unable to resolve new-instance 851 (Lcom/xxx/sdks/platform/PlatformAndGameOffline$2;) in Lcom/xxx/sdks/platform/PlatformAndGameOffline; 06-24 19:38:24.744: W/dalvikvm(6783): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$1;' failed 06-24 19:38:24.744: W/dalvikvm(6783): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$2;' failed 06-24 19:41:37.354: E/AndroidRuntime(6783): java.lang.NoClassDefFoundError: cn.cmgame.billing.api.GameInterface【这是和游戏sdk的东西】 06-24 19:41:37.354: E/AndroidRuntime(6783): at com.xxx.sdks.platform.PlatformAndGameOffline.callCreate(PlatformAndGameOffline.java:67)
luoshuimumu机器人#4 · 2015/6/24
【 在 zishi 的大作中提到: 】 : 你的lib导入进来了吗? 导了 这种结构跑通了 不是结构的问题 接的这是‘和游戏’的sdk 应该不是jar结构的问题 我照原有的结构重新实现了一套空架子 这种引用方式能跑通 但是相同的架子放到这边的代码就会出问题 这边用反射实现了类 类中调用JAR包的接口 然后就会出错 我猜是不是反射的问题 现在在查原因 谢谢关注啦 06-24 19:38:24.744: W/dalvikvm(6783): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$1;' failed 06-24 19:38:24.744: E/dalvikvm(6783): Could not find class 'com.xxx.sdks.platform.PlatformAndGameOffline$1', referenced from method com.xxx.sdks.platform.PlatformAndGameOffline.callPayRecharge 06-24 19:38:24.744: W/dalvikvm(6783): VFY: unable to resolve new-instance 850 (Lcom/xxx/sdks/platform/PlatformAndGameOffline$1;) in Lcom/xxx/sdks/platform/PlatformAndGameOffline; 06-24 19:38:24.744: W/dalvikvm(6783): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$2;' failed 06-24 19:38:24.744: E/dalvikvm(6783): Could not find class 'com.xxx.sdks.platform.PlatformAndGameOffline$2', referenced from method com.xxx.sdks.platform.PlatformAndGameOffline.onGameExit 06-24 19:38:24.744: W/dalvikvm(6783): VFY: unable to resolve new-instance 851 (Lcom/xxx/sdks/platform/PlatformAndGameOffline$2;) in Lcom/xxx/sdks/platform/PlatformAndGameOffline; 06-24 19:38:24.744: W/dalvikvm(6783): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$1;' failed 06-24 19:38:24.744: W/dalvikvm(6783): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$2;' failed 06-24 19:41:37.354: E/AndroidRuntime(6783): java.lang.NoClassDefFoundError: cn.cmgame.billing.api.GameInterface【这是和游戏sdk的东西】 06-24 19:41:37.354: E/AndroidRuntime(6783): at com.xxx.sdks.platform.PlatformAndGameOffline.callCreate(PlatformAndGameOffline.java:67)
luoshuimumu机器人#5 · 2015/6/24
还是我naive了 闪屏还没起来就报错 为不耽误大家思考时间就先来贴log 麻烦告知有可能的错误类型 内部类的原因? 06-24 19:50:55.984: W/ActivityThread(8411): Application com.xxx.xx.platform.andgame is waiting for the debugger on port 8100... 06-24 19:50:57.854: W/dalvikvm(8411): VFY: unable to resolve static method 4402: Lcn/cmgame/billing/api/GameInterface;.initializeApp (Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcn/cmgame/billing/api/GameInterface$ILoginCallback;)V 06-24 19:50:57.864: W/dalvikvm(8411): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$1;' failed 06-24 19:50:57.874: E/dalvikvm(8411): Could not find class 'com.xxx.sdks.platform.PlatformAndGameOffline$1', referenced from method com.xxx.sdks.platform.PlatformAndGameOffline.callPayRecharge 06-24 19:50:57.874: W/dalvikvm(8411): VFY: unable to resolve new-instance 850 (Lcom/xxx/sdks/platform/PlatformAndGameOffline$1;) in Lcom/xxx/sdks/platform/PlatformAndGameOffline; 06-24 19:50:57.874: W/dalvikvm(8411): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$2;' failed 06-24 19:50:57.874: E/dalvikvm(8411): Could not find class 'com.xxx.sdks.platform.PlatformAndGameOffline$2', referenced from method com.xxx.sdks.platform.PlatformAndGameOffline.onGameExit 06-24 19:50:57.874: W/dalvikvm(8411): VFY: unable to resolve new-instance 851 (Lcom/xxx/sdks/platform/PlatformAndGameOffline$2;) in Lcom/xxx/sdks/platform/PlatformAndGameOffline; 06-24 19:50:57.884: W/dalvikvm(8411): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$1;' failed 06-24 19:50:57.884: W/dalvikvm(8411): Link of class 'Lcom/xxx/sdks/platform/PlatformAndGameOffline$2;' failed
terrorblade机器人#6 · 2015/6/24
用maven管理试试
a206206机器人#7 · 2015/6/24
导出了么
luoshuimumu机器人#8 · 2015/6/25
还在找原因… 通过『我邮2.0』发布
luoshuimumu机器人#9 · 2015/6/26
来结帖 也许是和游戏SDK跟Lua冲突导致classnotfound 把所有调用jar接口的语句放到主线程执行问题解决 但是闪屏起来之前依然会报link class failed 大家到山穷水尽时可以考虑这种可能性 【 在 luoshuimumu (落水木木) 的大作中提到: 】 : 还在找原因… : 通过『我邮2.0』发布 通过『我邮2.0』发布