[英]Google App Engine is not working in Hello World app
就像帖子的名稱所暗示的那樣,在修改Gradle構建腳本以使其包含Google App Engine之后,我無法部署基本的Hello World Android應用。 這是我的應用程序的build.gradle
文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.example.tbiegeleisen.myfirstapp"
minSdkVersion 9
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.google.appengine:appengine-api-1.0-sdk:1.9.13'
}
這是我項目的build.gradle
文件:
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.13'
}
}
dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.13'
compile "javax.servlet:servlet-api:3.0"
compile 'com.google.appengine:appengine-api-1.0-sdk:1.9.13'
}
repositories {
mavenCentral();
}
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
}
allprojects {
repositories {
mavenCentral()
}
}
我相當確定該腳本在某種程度上可以正常工作,因為它第一次運行需要很長時間。 在這第一次期間,正在下載插件。 當我注釋掉所有 Google App Engine內容時,Hello World應用程序啟動就沒有問題了。 我感覺Android Studio正在嘗試執行插件,但是缺少依賴項,或者我遇到配置問題。
當我運行該應用程序時,Android Studio會旋轉約5-10分鍾,並且死於此錯誤消息:
Execution failed for task ':app:preDexDebug'.
\> com.android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException: Process 'command 'C:\Program
Files\Java\jdk.1.7.0_80\bin\java.exe'' finished with non-zero exit value 3
我不知道此錯誤輸出是否有用,但是無論如何我都將其包括在內。
我希望在Stack Overflow上使用Android的專家能夠解決這個問題。 作為參考,我需要App Engine,因為我計划在以后使用地理編碼。 我已經在此問題上停留了幾天,並且嘗試了所有可以通過Google和Stack Overflow找到的資源。
我認為這與您的依賴關系有關。 根據Google App Engine文檔,受支持的Java Servlet版本為2.5。 我認為Google App Engine還不支持3.0版。
引用Google App Engine Java文檔:
App Engine將Java Servlet 2.5標准用於Web應用程序。 您可以在標准WAR目錄結構中提供應用程序的servlet類,JavaServer Pages(JSP),靜態文件和數據文件,以及部署描述符(web.xml文件)和其他配置文件。 App Engine通過根據部署描述符調用servlet來處理請求。
您必須更改對此的依賴性:
compile "javax.servlet:servlet-api:2.5"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.