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

Posted

技术标签:

【中文标题】如何在 Android Studio 中手动安装 App Engine?【英文标题】:How to manually install App Engine in Android Studio? 【发布时间】:2014-08-20 08:24:01 【问题描述】:

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

谢谢!

【问题讨论】:

【参考方案1】:

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

编辑 build.gradle 文件并删除

dependencies 
  appengineSdk "com.google.appengine:appengine-java-sdk:X.X.X"  <--- 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

【讨论】:

我已经实现了这个方法,现在我得到“运行端点命令 get-client-lib 时出错:读取超时”。 那是另一个网络命令,是不是花了很长时间?你可以用 --info 或 --debug 或 --stacktrace 运行它吗? 感谢您的帮助,终于自己下载了。而且,对于同一鞋的任何人,它默认将 App Engine 下载到“.gradle”的主目录。在那里提取您的文件并在您的项目中找到它。 @gcmx 我认为您的评论应该是和回答,以帮助轻松查找和识别。谢谢 @gcmx ".gradle"主目录是指项目的.gradle文件夹还是C:\Users\XYZ\.gradle中的.gradle文件夹?【参考方案2】:

一种完全不同的方法是为 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” strong> 修饰符。

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

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

appengine-java-sdk-1.9.6.pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.google.appengine</groupId>
  <artifactId>appengine-java-sdk</artifactId>
  <packaging>zip</packaging>
  <version>1.9.6</version>
</project>

【讨论】:

【参考方案3】:

另一种解决方案,已解决!

在名为 gradle.properties 的文件中设置应用引擎 SDK 的路径:

systemProp.appengine.sdk.root=C:/&lt;PATH UNTIL BEFORE OF THE FOLDER APP_ENGINE_SDK&gt;/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

【讨论】:

以上是关于如何在 Android Studio 中手动安装 App Engine?的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 组件安装失败

如何手动升级android studio?

Android Studio手动配置Makefile、CMake

Android Studio 如何手动运行 gradle 同步?

如何从 Android Studio 手动重启 ADB

Android Studio Terminal(命令)安装apk