我正在Android Studio中构建一个Android应用程序,而我正在使用Google App Engine。一切都工作正常,但我想添加一些两个项目之间常见的枚举/类。我创建了一个Android库模块并添加了枚举,但是我在添加App Engine模块的引用时遇到了问题。这是我的应用引擎的gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.14'
compile 'com.android.support:appcompat-v7:21.0.3'
}
}
repositories {
mavenCentral();
}
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.14'
compile 'com.google.appengine:appengine-endpoints:1.9.14'
compile 'com.google.appengine:appengine-endpoints-deps:1.9.14'
compile 'javax.servlet:servlet-api:2.5'
compile 'com.google.code.gson:gson:2.3'
compile project(':sharedlibrary')
}
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
}
当我尝试构建时,我遇到了这个错误:
Error:Could not resolve all dependencies for configuration ':backend:compile'.
找不到com.android.support:appcompat-v7:21.0.3。 在以下位置搜索: https://jcenter.bintray.com/com/android/support/appcompat-v7/21.0.3/appcompat-v7-21.0.3.pom https://jcenter.bintray.com/com/android/support/appcompat-v7/21.0.3/appcompat-v7-21.0.3.jar https://repo1.maven.org/maven2/com/android/support/appcompat-v7/21.0.3/appcompat-v7-21.0.3.pom https://repo1.maven.org/maven2/com/android/support/appcompat-v7/21.0.3/appcompat-v7-21.0.3.jar 要求: Translink公司:后端:不详 Translink:后端:未指定> Translink公司:sharedlibrary:未指定的
我尝试将appcompat添加为依赖项,但这并没有效果。
答案 0 :(得分:2)
Gradle中的Java项目不依赖于Android项目。 Android项目具有明显更多的项目状态,特别是在源代码集中,Java插件无法处理。您收到此特定错误消息,因为Java插件无法找到Android模块的传递依赖项,因为这些特定的依赖项需要Android插件的帮助才能解决 - 插件是硬编码的在SDK中而不是通过repositories
块中的存储库。
要做你想做的事,你需要将公共代码重构为Android和App Engine都依赖的普通Java模块。