如何在Android Studio中手动安装App Engine?

我刚刚将App Engine模块添加到我的应用程序中,在同步时,gradle开始从maven下载App Engine zip。 App Engine的zip文件大约150mb +并且使用maven自动下载它非常慢,所以我决定手动下载appengine java sdk(appengine-java-sdk-1.9.6.zip)并手动安装它。 我现在有拉链,但我在哪里放置它以便Android Studio(0.8.1)选择并安装它而不是尝试从maven的存储库下载它?

谢谢!

android studio附带的appengine模板默认下载appengine sdk …因此,如果您使用这些模板,则必须执行以下操作。

编辑build.gradle文件并删除

dependencies { appengineSdk "com.google.appengine:appengine-java-sdk:XXX" <--- remove ... } 

 appengine { downloadSdk = true <--- remove this line as it tells it to dl the sdk } 

然后,您可以使用系统属性引用下载的sdk。 在appengine模块中的build.gradle文件所在的目录中创建一个文件

gradle.properties

 systemProp.appengine.sdk.root = "path to appengine sdk" 

还有其他方法可以指定sdk的位置(比如使用环境变量)可能更适合你,请查看https://github.com/GoogleCloudPlatform/gradle-appengine-plugin

一种完全不同的方法是为appengine sdk创建一个本地maven存储库,并直接引用并保留其他所有内容。

 repositories { maven { url 'file://path/to/myCustomRepo' } mavenCentral() } 

因此,如果您直接从maven.org抓取appengine sdk,这个方法最简单,因为它将被正确命名。 ( http://search.maven.org/#artifactdetails |com.google.appengine|appengine-java-sdk|1.9.6|zip )但选择了您在构建文件中引用的版本。

关于maven repo,您​​需要正确设置它。 如果您下载的zip位于/path/to/myCustomRepo ,则需要将zip实际放在正确的位置: /path/to/myCustomRepo/com/google/appengine/appengine-java-sdk/1.9.6具体取决于版本你正在使用的号码。

如果您在存储库目录中有zip文件 ,则需要修改downloadSdk行以指示所有可用的是带有@zip修饰符的“zip”。

 downloadSdk "com.google.appengine:appengine-java-sdk:1.9.6@zip" 

如果您不想使用@zip ,可以添加一个简单的.pom文件(.zip旁边),以便系统可以正确地确定参考

AppEngine上的Java-SDK-1.9.6.pom

   4.0.0 com.google.appengine appengine-java-sdk zip 1.9.6  

解决了另一个解决方案!

在名为gradle.properties的文件中设置app engine SDK的路径:

systemProp.appengine.sdk.root=C://appengine-java-sdk-1.9.40

例:

systemProp.appengine.sdk.root=C:/Users/programmer/StudioProjects/MyApplication/.gradle/appengine-java-sdk-1.9.40

编辑build.gradle文件并将以下行更改为false:

appengine { downloadSdk = false }