今天在新环境配置ButterKnife,遇到了一点问题,搜了很多最后碰巧解决了,记录一下。
基本配置
以下两种配置方式均可:
1.Android Studio 自带工具配置
File - Project Structure - app - Dependencies
点右边+号,选择Library Dependency。
输入框中输入ButterKnife
回车搜索。选择如下两个模块安装:
2. Gradle 文件配置
在app的build.gradle中添加两句依赖:
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
即:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
testCompile 'junit:junit:4.12'
// 添加以下两句
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
完成以上步骤后,点击Sync刷新即可
遇到的问题
添加完这两条语句点击刷新时,会报错Failed to resolve: com.jakewharton:butterknife:8.8.1
。找了很久的资料,包括官方的GitHub里的issue,还是没有发现问题所在,最后尝试了一下在project的build.gradle
文件中,将原来的:
allprojects {
repositories {
jcenter()
}
}
替换为:
allprojects {
repositories {
// 使用阿里云的下载地址
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
}
配置完之后,终于Sync成功,可以愉快地bind
了!