Разрывы инфраструктуры конечных точек Google для Android Studio 3.4 (версия 5.1.1) - PullRequest
2 голосов
/ 08 мая 2019

У меня есть проект, который использует Google App Engine с Android.

Я получил следующую ошибку «сбой синхронизации проекта gradle» после обновления до Android Studio 3.4 (gradle 5.1.1).

До этого она работала хорошо в предыдущей версии Android Studio, которая используетGradle 4.10.1.

Любые указатели приветствуются.Скажите, если вам нужно, чтобы я предоставил дополнительную информацию

Caused by: java.lang.NoSuchMethodError: org.gradle.api.tasks.SourceSetOutput.getClassesDir()Ljava/io/File;
at com.google.cloud.tools.gradle.endpoints.framework.server.EndpointsServerPlugin$2$1.execute(EndpointsServerPlugin.java:108)
at com.google.cloud.tools.gradle.endpoints.framework.server.EndpointsServerPlugin$2$1.execute(EndpointsServerPlugin.java:98)

Ниже приведен файл build.gradle для внутреннего модуля.
Это было после того, как я перешел на GAE V2 с помощью руководства по миграции (https://cloud.google.com/endpoints/docs/frameworks/java/migrating-android)

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.cloud.tools:endpoints-framework-gradle-plugin:1.0.2'
        classpath 'com.google.cloud.tools:appengine-gradle-plugin:1.3.2'

    }
}

repositories {
    jcenter()
}

apply plugin: 'java'
apply plugin: 'war'

apply plugin: 'com.google.cloud.tools.appengine'
apply plugin: 'com.google.cloud.tools.endpoints-framework-server'

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

dependencies {

    // V2: Endpoints Framework v2 migration
    implementation 'com.google.endpoints:endpoints-framework:2.0.9'
    implementation 'javax.inject:javax.inject:1'
    implementation 'javax.servlet:servlet-api:2.5'

    implementation 'com.googlecode.objectify:objectify:5.1.9' 

}

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Обновление с: classpath 'com.google.cloud.tools:endpoints-framework-gradle-plugin:1.0.2' to: classpath 'com.google.cloud.tools:endpoints-framework-gradle-plugin:1.0.3 '

Исправлена ​​эта проблема в моем проекте

0 голосов
/ 20 мая 2019

, чтобы заставить его работать снова, я должен был закомментировать следующее из build.gradle (module: app)

//buildscript {
//    repositories {
//        jcenter()
//    }
//    dependencies {
//        // V2: Add the new Endpoints Framework plugin dependencies
//        classpath 'com.google.cloud.tools:endpoints-framework-gradle-plugin:1.0.3'
//    }
//}

вместо этого добавьте classpath в build.gradle (проект)

buildscript {
    repositories {
        jcenter()
        google() 
    }
    dependencies {
        // V2: Include this dependency when using Endpoints Framework v2
        classpath 'com.google.guava:guava:24.1-jre'

        //**moved from the build.gradle in module:app** 
        classpath 'com.google.cloud.tools:endpoints-framework-gradle-plugin:1.0.3'

///... <snips> the rest of the build.gradle file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...