Android Studio版本2.3升级3.0导致项目构建失败

前情提示

2017年底做的Android小项目,昨天使用Android Studio重构的过程中不断出现错误,总共遇到了三个问题,在此简要描述。

一、 连接错误

问题描述:

‘Error:Connection refused: connect’

解决方案:

  1. 打开Android项目下的gradle.properties文件,若发现本地代理设置,则应注释或删除:
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=1080
systemProp.https.proxyHost=127.0.0.1 
systemProp.https.proxyPort=1080
  1. Android-studio中Gradle ’X’ project refresh failed,Error:Connection refused的解决办法 ,由于此过程较为复杂,我没有使用这种方法,有兴趣的童鞋可以点开链接自行翻阅。
  2. 修改工程路径下的bulid.gradle文件,将依赖中的gradle版本与当前使用的版本保持一致;
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
}

至于查看当前的gradle版本,新建项目打开相应位置代码就ok了。

二、编译错误

问题描述:

‘org.gradle.api.resources.ResourceException: Could not get resource’

解决方案:

修改app目录下的bulid.gradle文件,将之前的compile换为implementation,若仍然失败,则考虑将implementation换为api。

api 'com.android.support:design:26.1.0'
api 'de.hdodenhof:circleimageview:2.1.0'
api 'com.android.support:recyclerview-v7:26.1.0'
api 'com.android.support:cardview-v7:26.1.0'
api 'com.github.bumptech.glide:glide:3.7.0'

三、ButterKnife插件使用问题

ButterKnife是一种开发框架,通过注解绑定视图,省略 findViewById() 的操作,虽然在项目编译时会略耗时,但不会影响运行时的性能。

由于之前使用的ButterKnife都是基于5.1.1版本的,过时后不能再用,所以选择改用8.8.1版本。

首先,需要在项目的build.gradle文件中的dependencies中添加两行代码:

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

其次,由于Knife不再提供InjectView,需要将其替换为BindView,并将业务代码改写成此格式

@BindView(R.id.et_username) EditTextetUsername

并在OnCreate方法中改写代码

ButterKnife.inject(this) => ButterKnife.bind(this)

以上就是本次的排雷细节,如果喜欢就请点赞吧!

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页