如何在 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:/<PATH UNTIL BEFORE OF THE FOLDER APP_ENGINE_SDK>/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手动配置Makefile、CMake