我在Android Studio 1.1 RC 1中设置了一个全新的项目:
一切都很好,但Android Studio有两个问题:
Gradle说"任务''在根项目中找不到" (''似乎是空字符串)。从终端运行时,我在日志中收到警告和异常,但它似乎没有关联(与索引相关),所以我没有把它包含在这里。
settings.gradle指定了两个模块:
include ':backend', ':common'
我试图用一个包含两个模块的伪文件交换主项目的.iml文件,结果是(除了多个副作用)两个模块都在那里。 (由于副作用,我恢复了原始状态。)
以下是我的gradle文件:
根模块:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.1'
}
}
allprojects {
repositories {
jcenter()
}
}
[后端]
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.17'
}
}
repositories {
jcenter();
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.17'
compile 'com.google.appengine:appengine-endpoints:1.9.17'
compile 'com.google.appengine:appengine-endpoints-deps:1.9.17'
compile 'javax.servlet:servlet-api:2.5'
compile 'com.googlecode.objectify:objectify:5.1.3'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'io.jsonwebtoken:jjwt:0.4'
compile project(':common')
}
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
}
[共同]
apply plugin: 'java'
task sourcesJar(type: Jar, dependsOn:classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}
dependencies {
compile 'com.google.http-client:google-http-client-android:1.18.0-rc'
compile 'com.google.code.gson:gson:2.3.1'
}
apply plugin: 'maven'
group = 'cc.closeup'
version = 'v2-2.0-SNAPSHOT'
install {
repositories.mavenInstaller {
pom.artifactId = 'common'
pom.packaging = 'jar'
}
}
有什么想法吗?还有其他你想在这里看到的东西吗?
答案 0 :(得分:0)
我的错误是我删除了[app]。看来如果你创建一个App Engine后端模块,你必须在同一个项目中保留一个“假的”前端模块,以保持Android Studio / gradle的快乐。
在早期的Android Studio版本中,可以毫无问题地删除前端模块,但似乎谷歌已经以某种方式锁定了它。当我保留假前端模块时,它仍然有效。
-
为什么我这样配置?在我的配置中,我在不同的项目中有后端和前端模块,我将后端项目安装库安装到本地Maven中,然后我在我的前端项目中选择(有一个团队,你会选择一个本地Maven服务器)。这种配置有许多优点,例如我可以同时测试两个屏幕上的后端/前端,而无需一直来回切换。有些公司可能也希望这种配置能够使其后端代码保持独立和安全。
答案 1 :(得分:0)
如果您只想构建AE项目。您可以尝试本教程中的intellij idea jetbrains.com/idea/help/creating-google-app-engine-project.html