我正在使用Android Studio 2.2.2并尝试从https://android.googlesource.com/
导入存储库。
尝试与给定的gradle文件同步时出现以下错误:
Gradle sync failed: Unable to find method 'org.gradle.api.internal.file.DefaultSourceDirectorySet
通过将protobuf版本更新为0.8.0
,我尝试了here给出的解决方案,但我收到了更多错误:Execution failed for task ':generateDebugProto'
这是gradle文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.7.0'
}
}
apply plugin: 'com.android.application'
apply plugin: 'com.google.protobuf'
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.android.launcher3"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
testApplicationId "com.android.launcher3.tests"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
minifyEnabled false
}
}
sourceSets {
main {
res.srcDirs = ['res', 'WallpaperPicker/res']
java.srcDirs = ['src', 'WallpaperPicker/src']
manifest.srcFile 'AndroidManifest.xml'
proto.srcDirs 'protos/'
}
androidTest {
java.srcDirs = ['tests/src']
res.srcDirs = ['tests/res']
manifest.srcFile "tests/AndroidManifest.xml"
}
}
}
repositories {
mavenCentral()
}
dependencies {
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-2'
testCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
}
protobuf {
// Configure the protoc executable
protoc {
artifact = 'com.google.protobuf:protoc:3.0.0-alpha-3'
}
}
答案 0 :(得分:0)
尝试使用以下内容替换gradle文件的protobuf部分:
protobuf {
// Configure the protoc executable
protoc {
artifact = 'com.google.protobuf:protoc:3.0.0'
}
plugins {
lite {
artifact = "com.google.protobuf:protoc-gen-javalite:3.0.0"
}
}
generateProtoTasks {
all().each { task ->
task.builtins {
remove java
}
task.plugins {
lite { }
}
}
}
}