簡體   English   中英

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

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

我的項目包括一個Android應用程序和一個Appengine后端,我從eclipse轉到了android studio,並在網上跟隨了一些示例,並從Android Studio生成了一個appengine模塊。

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')
}
}

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
}
}

錯誤

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

在這里,您可以找到有關如何將Gradle與App Engine結合使用的指南: https : //github.com/GoogleCloudPlatform/gradle-appengine-plugin

要使用App Engine插件,請在構建腳本中添加以下內容:

apply plugin: 'appengine'

需要在構建腳本的類路徑中定義插件JAR。 它在Maven Central上直接可用。 另外,您可以從GitHub下載它並將其部署到本地存儲庫。 以下代碼段顯示了有關如何從Maven Central檢索它的示例:

buildscript {
    repositories {
        mavenCentral()
    }

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

注意:該插件要求您設置環境變量APPENGINE_HOME或系統屬性appengine.sdk.root,以指向當前的Google App Engine SDK安裝。 如果同時設置了兩個變量,則系統屬性優先於環境變量。 另外,您可以通過將約定屬性downloadSdk設置為true來選擇自動下載SDK。 此選項要求您通過設置配置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