解决NoSuchFieldError

先来描述一下这个问题出现的状况。
    项目中集成了第三方的一个aar。配置aar,编译打包测试完全没问题。一路顺的自己都有点兴奋。接下来另一个项目也需要这个功能,这还不简单。照着上一个项目配置,编译、打包测试。什么情况!!!!
 java.lang.NoSuchFieldError: No static field xxxx of type I in class xxx/xxx/R$id; or its superclasses (declaration of 'xxx.xxx.R$id' appears in /data/app/com.xxx.xxx-1/split_lib_slice_3_apk.apk)
                                                                            at com.xxx.xxx.xxxx.onClick(Unknown Source)
                                                                            at android.view.View.performClick(View.java:5714)
                                                                            at android.view.View$PerformClick.run(View.java:22594)
                                                                            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.app.ActivityThread.main(ActivityThread.java:7325)
                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Fuck!Fuck!!Fuck!!!
这什么原因,莫名其妙的问题。更让人纠结的是在另一个项目中完全正常。这个项目中只要点击按钮就会崩溃。shit!!!,纠结了两天问题还是要解决的慢慢从头缕缕,混淆配置没问题,打包没问题。突然发现报错的信息Unknown Source。找不到资源。于是开始在aar的项目中搜索id为xxx的控件。终于在一个xml中找到了。然后呢?看看这个控件在哪引用的。找到对应的activity,看到里面的findviewbyid(),这不是有吗?怎么会找不到,于是再去找R文件遍历搜索这个控件。what???怎么没有。难怪会找不到。至此问题终于大白天下。原来控件的id没有在r文件注册上。但是这是怎么引起的呢?
找到控件所在的xml,然后double shift一下。输入xml的名字。我的天!原来是和另一个aar里的layout重名了。赶紧改个名字试试。这年头起个名字重名的概率都这么大。。。
哎!!心累,记录一下。

猜你喜欢

转载自blog.csdn.net/f820306455/article/details/78813929