解决 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 文件