Android java.lang.NoSuchFieldError: 完美解决办法,以及原因

FATAL EXCEPTION: main
Process: cn.com.jusoft.epumping.staff, PID: 27129
java.lang.NoSuchFieldError: No static field ib_select of type I in class Lcom/ufo/imageselector/R$id; or its superclasses (declaration of 'com.ufo.imageselector.R$id' appears in /data/app/cn.com.jusoft.epumping.staff-Jqv742Hw1WhlfWk2DplCGA==/base.apk)
at com.ufo.imageselector.adapter.BasicAdapter$ViewHolder.<init>(BasicAdapter.java:60)
at com.ufo.imageselector.adapter.AlbumAdapter.onCreateViewHolder(AlbumAdapter.java:32)
at com.ufo.imageselector.adapter.AlbumAdapter.onCreateViewHolder(AlbumAdapter.java:22)
at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6411)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5597)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5482)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5478)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2215)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1502)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearL

重点内容

解决办法:找到报错的ID——No static field ib_select of type I in class 这里是ib_select
然后查找到 该Layout所在布局,—->然后搜索布局名称,会找到相同名称的.更改自己的布局名称;重新运行即可

原因:!!!

文件名相同,依赖的文件名与自身写的相同,导致数据重复引用错误

主模块和library模块里新建相同名字的layout文件,但两者不同
最后在打包生成的apk文件中,这个名字的layout文件只有一个,并且是主模块的layout文件:
另外,apk文件中的resources.arsc文件中的id确实没有library中定义的id

结论

Android的打包机制决定了不能有同名的layout文件,故只能避免模块之间文件的重名

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值