集成butterknife最新版本8.6.0

最近刚完成一个版本的需求,有空闲时间,准备好好整理下手上的项目。因为公司项目开始的时间比较早,很多新的开源框架都没用上(新开的项目用到了),开发效率有时候确实比较低,所以打算逐步为手上的老项目引进一些成熟的框架,来提升开发效率(当然也想偷个懒,目前我一个人负责android项目,开发效率高了我也就不用加班了哈哈)。

首先要摆脱的就是无穷无尽的findViewById了,解决方案有很多,最终选择了著名的Butter Knife,起初在网上搜了一些教材,发现大部分都是老版本的集成方法,目前Butter Knife最新版本为8.6.0,集成方法好像有了一些改变。

Butter Knife 地址:https://github.com/JakeWharton/butterknife

其实,照着文档集成很简单,在你的moudle目录build文件的dependencies添加如下代码即可:

dependencies {
  compile 'com.jakewharton:butterknife:8.6.0'
  annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
}

本来到这里同步一下,就可以用了,但是我这里遇到了一个错误,导致编译失败:

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/hardware/display/DisplayManagerCompat$JellybeanMr1Impl.class

看意思说是包中有文件冲突,去github搜了下issue,发现有人也遇到这个问题,但是作者解释butterknife没有DisplayManagerCompat这个类:


屏幕快照 2017-07-05 下午4.53.34.png

但是这个问题确实是引入butterknife后才出现的,最后用下边儿的方法解决了这个问题,移除依赖:

compile('com.jakewharton:butterknife:8.6.0') {
        exclude module: 'support-compat'
    }
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'

用上边儿这种方式添加依赖,问题解决。
对了,用butterknif肯定少不了一个插件android butterknife zelezny,可以自动生成绑定代码,最后附上之前写的一篇关于Butter Knife用法的文章:http://www.jianshu.com/p/4cab0b7f1499

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,227评论 25 709
  • 附上原文作者连接:作者:金诚 一.榜单介绍 排行榜包括四大类: 单一框架:仅提供路由、网络层、UI层、通信层或其他...
    这个美嘉不姓陈阅读 6,743评论 1 35
  • 一.榜单介绍 排行榜包括四大类: 单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框架 混合开发框架:...
    伟子男阅读 10,649评论 0 161
  • 前言 Pthread,NSThread,GCD和NSOperation是iOS中多线程的四种实现方案。 一.进程和...
    小李龍彪阅读 3,904评论 1 4
  • 仓央嘉措的情人第二篇 起伏 文/金罡 一阙相思 万缕轻纱 若影若现 紧紧的牵挂 把心收拢 等一场凝结的刹那 红尘飘...
    仓央嘉措诗社阅读 1,571评论 0 1

友情链接更多精彩内容