正如帖子的名称所暗示的那样,在修改我的Gradle构建脚本以包含Google App Engine后,我无法获得要部署的基本Hello World Android应用程序。这是我的应用.class
文件:
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
我相当确定脚本在某种程度上正在运行,因为第一次运行它需要很长时间。在这第一次,插件正在下载。当我评论所有的Google App Engine内容时,Hello World应用程序启动时没有任何问题。我觉得Android Studio正在尝试执行插件,但缺少依赖项,或者我遇到配置问题。
当我运行应用程序时,Android Studio将旋转大约5-10分钟,并且出现此错误消息:
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()
}
}
我不知道这个错误输出是否有用,但无论如何我都包括它。
我希望Stack Overflow上的Android大师能够帮助我解决这个问题。作为参考,我需要App Engine,因为我计划稍后使用地理编码。我已经被困在这几天了,我已经尝试了通过Google和Stack Overflow找到的所有资源。
答案 0 :(得分:0)
我认为它与您的依赖关系有关。根据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"