解决 java.lang.NoSuchFieldError: No field xxxxxx of type I in class Lcom/xxxx/xxxx/R$id;
今天有两个项目引用了同一个 Library 组件,但是其中一个使用一直闪退…
抛出错误:
java.lang.NoSuchFieldError: No field splash_icon of type I in class Lcom/haxibiao/toolkits/R$id; or its superclasses (declaration of 'com.haxibiao.toolkits.R$id' appears in /data/app/com.datizhuanqian-1/base.apk:classes2.dex)
at com.haxibiao.ad.ttadsdk.SplashActivity.onCreate(SplashActivity.java:63)
at android.app.Activity.performCreate(Activity.java:6856)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2699)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2807)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1540)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6359)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:880)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
这就非常的迷了,另外一个软件引入使用没问题啊???
Library 的布局 xml 也检查了一遍确定是存在这个 id 的,找了老半天居然在这个闪退的项目下面找到相同的布局 xml ??????
Library 和项目存在相同的 xml ,导致 Library 的 xml 被覆盖了
后来了解到 Library 合并是不同的 R.java 但是如果 layout 的 xml 存在相同名字的话项目的 layout 会覆盖组件( Library )的 layout 文件的
找到问题所在,解决办法就是:删除或重命名其中一个 layout 文件