简体   繁体   English

找不到Gradle DSL方法:“ appengine()”

[英]Gradle DSL method not found: 'appengine()'

My project consists of an Android application and an Appengine Backend, I moved from eclipse to android studio and following some examples online as well as generating an appengine module from Android Studio I came up with this. 我的项目包括一个Android应用程序和一个Appengine后端,我从eclipse转到了android studio,并在网上跟随了一些示例,并从Android Studio生成了一个appengine模块。

The android application's Gradle file Android应用程序的Gradle文件

apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    //compile project(':appcompat_v7_2')
    compile 'com.android.support:support-v4:21.0.3'
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.google.android.gms:play-services:6.5.87'
    compile project(path: ':AgriExpenseTT-AppEngine', configuration: 'android-endpoints') //line that supposedly links the AppengineProject
}

android {
compileSdkVersion 19
buildToolsVersion "20.0.0"

defaultConfig {
    minSdkVersion 9
    targetSdkVersion 20
}

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src', 'endpoint-libs/libdeviceinfoendpoint-v1/deviceinfoendpoint/deviceinfoendpoint-v1-generated-source', 'endpoint-libs/librpurchaseendpoint-v1/rpurchaseendpoint/rpurchaseendpoint-v1-generated-source', 'endpoint-libs/libupaccendpoint-v1/upaccendpoint/upaccendpoint-v1-generated-source', 'endpoint-libs/libcycleendpoint-v1/cycleendpoint/cycleendpoint-v1-generated-source', 'endpoint-libs/libtranslogendpoint-v1/translogendpoint/translogendpoint-v1-generated-source', 'endpoint-libs/libmessageEndpoint-v1/messageEndpoint/messageendpoint-v1-generated-source', 'endpoint-libs/libcycleuseendpoint-v1/cycleuseendpoint/cycleuseendpoint-v1-generated-source']
        resources.srcDirs = ['src', 'endpoint-libs/libdeviceinfoendpoint-v1/deviceinfoendpoint/deviceinfoendpoint-v1-generated-source', 'endpoint-libs/librpurchaseendpoint-v1/rpurchaseendpoint/rpurchaseendpoint-v1-generated-source', 'endpoint-libs/libupaccendpoint-v1/upaccendpoint/upaccendpoint-v1-generated-source', 'endpoint-libs/libcycleendpoint-v1/cycleendpoint/cycleendpoint-v1-generated-source', 'endpoint-libs/libtranslogendpoint-v1/translogendpoint/translogendpoint-v1-generated-source', 'endpoint-libs/libmessageEndpoint-v1/messageEndpoint/messageendpoint-v1-generated-source', 'endpoint-libs/libcycleuseendpoint-v1/cycleuseendpoint/cycleuseendpoint-v1-generated-source']
        aidl.srcDirs = ['src', 'endpoint-libs/libdeviceinfoendpoint-v1/deviceinfoendpoint/deviceinfoendpoint-v1-generated-source', 'endpoint-libs/librpurchaseendpoint-v1/rpurchaseendpoint/rpurchaseendpoint-v1-generated-source', 'endpoint-libs/libupaccendpoint-v1/upaccendpoint/upaccendpoint-v1-generated-source', 'endpoint-libs/libcycleendpoint-v1/cycleendpoint/cycleendpoint-v1-generated-source', 'endpoint-libs/libtranslogendpoint-v1/translogendpoint/translogendpoint-v1-generated-source', 'endpoint-libs/libmessageEndpoint-v1/messageEndpoint/messageendpoint-v1-generated-source', 'endpoint-libs/libcycleuseendpoint-v1/cycleuseendpoint/cycleuseendpoint-v1-generated-source']
        renderscript.srcDirs = ['src', 'endpoint-libs/libdeviceinfoendpoint-v1/deviceinfoendpoint/deviceinfoendpoint-v1-generated-source', 'endpoint-libs/librpurchaseendpoint-v1/rpurchaseendpoint/rpurchaseendpoint-v1-generated-source', 'endpoint-libs/libupaccendpoint-v1/upaccendpoint/upaccendpoint-v1-generated-source', 'endpoint-libs/libcycleendpoint-v1/cycleendpoint/cycleendpoint-v1-generated-source', 'endpoint-libs/libtranslogendpoint-v1/translogendpoint/translogendpoint-v1-generated-source', 'endpoint-libs/libmessageEndpoint-v1/messageEndpoint/messageendpoint-v1-generated-source', 'endpoint-libs/libcycleuseendpoint-v1/cycleuseendpoint/cycleuseendpoint-v1-generated-source']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }

    // Move the tests to tests/java, tests/res, etc...
    instrumentTest.setRoot('tests')

    // Move the build types to build-types/<type>
    // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
    // This moves them out of them default location under src/<type>/... which would
    // conflict with src/ being used by the main source set.
    // Adding new build types or product flavors should be accompanied
    // by a similar customization.
    debug.setRoot('build-types/debug')
    release.setRoot('build-types/release')
}
}

The appengine's gradle file appengine的gradle文件

apply plugin: 'java'
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')

    compile 'com.google.appengine:appengine-endpoints:1.9.1'
    compile 'com.google.appengine:appengine-endpoints-deps:1.9.1'
    compile 'javax.servlet:servlet-api:2.5'
    compile 'org.datanucleus:datanucleus-core:3.2.8'
    compile 'com.google.appengine.orm:datanucleus-appengine:2.1.2'
    compile group: 'javax.persistence', name: 'persistence-api', version: '1.0'
}
repositories {
    mavenCentral()
}
sourceSets {
    main.java.srcDirs = ['src']
    main.resources.srcDirs = ['src']
    test.java.srcDirs = ['tests/java']
    test.resources.srcDirs = ['tests/resources']
}

appengine { // ! ERROR IS HERE !
downloadSdk = true
appcfg {
    oauth2 = true
}
endpoints {
    getClientLibsOnBuild = true
    getDiscoveryDocsOnBuild = true
}
}

Error 错误

Could not find method appengine() for arguments        [build_8nkni14q2n6l61jnsyaantjd6$_run_closure4@188b4628] on project ':AgriExpenseTT-AppEngine'

Here you can find guide how to use App Engine with gradle: https://github.com/GoogleCloudPlatform/gradle-appengine-plugin 在这里,您可以找到有关如何将Gradle与App Engine结合使用的指南: https : //github.com/GoogleCloudPlatform/gradle-appengine-plugin

To use the App Engine plugin, include in your build script: 要使用App Engine插件,请在构建脚本中添加以下内容:

apply plugin: 'appengine'

The plugin JAR needs to be defined in the classpath of your build script. 需要在构建脚本的类路径中定义插件JAR。 It is directly available on Maven Central. 它在Maven Central上直接可用。 Alternatively, you can download it from GitHub and deploy it to your local repository. 另外,您可以从GitHub下载它并将其部署到本地存储库。 The following code snippet shows an example on how to retrieve it from Maven Central: 以下代码段显示了有关如何从Maven Central检索它的示例:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.google.appengine:gradle-appengine-plugin:1.9.17'
    }
}

Note: The plugin requires you to set the environment variable APPENGINE_HOME or the system property appengine.sdk.root pointing to your current Google App Engine SDK installation. 注意:该插件要求您设置环境变量APPENGINE_HOME或系统属性appengine.sdk.root,以指向当前的Google App Engine SDK安装。 In case you have both variables set the system property takes precedence over the environment variable. 如果同时设置了两个变量,则系统属性优先于环境变量。 Alternatively, you can choose to automatically download the SDK by setting the convention property downloadSdk to true. 另外,您可以通过将约定属性downloadSdk设置为true来选择自动下载SDK。 This option requires you to specify the SDK version you want to use by setting the configuration appengineSdk. 此选项要求您通过设置配置appengineSdk来指定要使用的SDK版本。

dependencies {
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.17'
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM