使用ButterKnife时的编译报错解决

时间:2024-03-21 11:03:42

错误一:gradle编译报错,版本不合适:

在Android studio中使用butterKnife时,出现了编译报错,根据错误提示,是缺少了gradle-3.3-all的安装包,我们从网上下载下来之后,解压到如图所示的目录中C:\Users\Administrator\.gradle\wrapper\dists\

使用ButterKnife时的编译报错解决

接下来进入项目目录修改这个配置文件,将之前的gradle修改为刚刚下载解压的那个即可:

使用ButterKnife时的编译报错解决

使用ButterKnife时的编译报错解决

然后再重新编译,即可通过。

  

第二步,配置ButterKnief文件:

butterKnife的gradle配置:如图所示

在项目的gradle配置文件中,做如下修改:

使用ButterKnife时的编译报错解决


在你的moudle的gradle中配置如下三行即可:

使用ButterKnife时的编译报错解决

第三部,解决在安装时又爆出如下错误:

使用ButterKnife时的编译报错解决

This version of Android Studio is incompatible with the Gradle Plugin used.

因为我们刚刚修改了导入项目时需要gradle3.3的错误,而项目中我们的gradle版本是2.1.2的,意思是Gradle插件不兼容,所以运行不成功因此报错。

解决方法:

后来我修改了AndroidStudio中的Settings--->Build,Execution,Deployment-->Instant Run 把 Enable Instant Run to hot swap code/resoure changes deploy(default enabled)的选项给移除,clean之后再运行成功了。

如图所示:

使用ButterKnife时的编译报错解决

把第一个勾选去除,然后build clean下,编译成功。

网上的解释如下:

    Android studio的2.0新版本出了一个革命性的功能就是Instant Run(即时运行)!新的即时运行功能可以让开发者像写html网页一样写android原生代码,能做到一边修改代码,一边在模拟器或者实际设备上看到 修改代码后的结果。

首先是四个属性: 
1:Enable Instant Run to hot swap code/resource changes on deploy (default enabled) 
//启用即时运行 热交换代码/资源变化 部署(默认启用)

2:Restart activity on code changes 
//当代码变动时重启

3:Show toasts in the running app when changes are applied 
//当代码变动应用时弹出toast

4:show Instant Run status notifications 

//在notification里显示instant Run 的状态

经常遇到的问题: 
1.使用了instant Run功能后开启应用就会短暂白屏,即使是全新的项目也会出现短暂的白屏

解决:取消勾选第四个选项

2.code 已经更新了,但是点击运行的时候还是提示 No changes To Deploy

解决:取消勾选第一个选项

3.Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’

解决:取消勾选第一个选项。如果已经取消过第一个选项,就clean project