我在Android工程中新建了一个Java library,在dependency中加入了"com.android.support:support-annotations:25.3.1"
这个依赖库,结果在编译时报错:
在网上找的原因说是因为和android其他库的版本号不统一,但是统一之后仍然会报错,随后我模仿butterknife-annotations的build.gradle文件(链接:https://github.com/JakeWharton/butterknife/blob/master/butterknife-annotations/build.gradle)的写法在里面加上了如下代码块:
def logger = new com.android.build.gradle.internal.LoggerWrapper(project.logger)
def sdkHandler = new com.android.build.gradle.internal.SdkHandler(project, logger)
for (File file : sdkHandler.sdkLoader.repositories) {
repositories.maven {
url = file.toURI()
}
}
解决了这个问题,整个build.gradle文件如下:
apply plugin: 'java'
def logger = new com.android.build.gradle.internal.LoggerWrapper(project.logger)
def sdkHandler = new com.android.build.gradle.internal.SdkHandler(project, logger)
for (File file : sdkHandler.sdkLoader.repositories) {
repositories.maven {
url = file.toURI()
}
}
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
dependencies {
compileOnly 'com.google.android:android:4.1.1.4'
compile 'com.android.support:support-annotations:23.1.1'
}