Android 各类注解框架的介绍、butterknife安装,使用及各类报错解决

一、各类注解框架的对比

参考:https://www.jb51.net/article/104612.htm
总结(图来自上述链接):
在这里插入图片描述
其实这一张图就够了,至于里面涉及到的语法,请先忽略,因为中间你会遇到很多问题

二:安装(鉴于上图我选择ButterKnife,初学尽量选简单而不是好的)

1.使用插件安装

第一步:

打开File -> Setting -> Plugins,点击Marketplace(studio版本不同可能会有些许差异,我的是2019最新版)搜索ButterKnife,如下图,选择下载次数最多的就没有错
在这里插入图片描述
下载完之后会提示重启,如果没有,就手动重启一下

第二步

在build.gradle下的dependencies中添加这两句

implementation ‘com.jakewharton:butterknife:8.1.0’ //注意,版本号可随意,后面会讲到
annotationProcessor ‘com.jakewharton:butterknife-compiler:8.1.0’
在这里插入图片描述

第三步;

在主函数中选中activity_main,右键->Generate->Generate ButterKnife Injections,你就会发现这个界面,这说明你已经安装成功了,接下来你只需要勾选相应的框就会自动填入代码,填入的方法是灰色的,不要管,更不要去调用
在这里插入图片描述

三:遇到的问题

1.报错

最常见

> Error:Could not resolve all files for configuration ':app:debugAnnotationProcessorClasspath'.
 > Could not download guava.jar (com.google.guava:guava:19.0)
   > Could not get resource 'https://jcenter.bintray.com/com/google/guava/guava/19.0/guava-19.0.jar'.
      > Could not HEAD 'https://jcenter.bintray.com/com/google/guava/guava/19.0/guava-19.0.jar'.
         > Remote host closed connection during handshake

`
Android studio一直报错app:debugAnnotationProcessorClasspath

更换版本后会出现:

错误: 程序包android.support.annotation不存在

编译通过,运行报错

A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x68 in tid 16117 (.annotationdemo)

等等,你会遇到无数的问题

解决方法:

1、添加镜像源

通用措施:首先保证不是网络的问题 ,把Google的源换成阿里的,某些用户可能无法访问到Google,在图示地方添加maven {
url ‘http://maven.aliyun.com/nexus/content/groups/public/’
}在这里插入图片描述

2、改错,只要是因为装butterknife报的错,99可用此解决

网上说法是将版本号改成8.4.0,有人成功了,但我的失败了。
按照报错代码去搜解决方法发现都不行,搞了一天,改来改去
得出结论:
最后发现,不要看报错代码,
不要看报错代码,
不要看报错代码,
只要有问题,就去修改版本号,我从7.0一路到10.2.0,最终测试我的8.1.0是没有任何问题的

3.更换butterknife版本两种方法:

1.原地直接修改数字(前提是你知道有哪些版本)

implementation 'com.jakewharton:butterknife:8.1.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.1.0'

2.File -> Project Structure ->Dependencies ->点击Modules下的app,在右侧找到butterknife字样,下面有版本号,自由选择,这两个要一致(注意,几乎所有的问题都和这个版本有关系,即使他报的错看似和他没关系),然后同步一下
在这里插入图片描述

四:使用

参考:很详细:https://blog.csdn.net/qq_29924041/article/details/80538360
这是我的测试代码,不要写复杂了,可能会出现意想不到的问题
在这里插入图片描述

发布了23 篇原创文章 · 获赞 2 · 访问量 1199

猜你喜欢

转载自blog.csdn.net/qq_42733641/article/details/103223078