【问题标题】:How to manually install App Engine in Android Studio?如何在 Android Studio 中手动安装 App Engine?
【发布时间】: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 的存储库下载它?

谢谢!

【问题讨论】:

    标签: java android google-app-engine 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 }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-16
        • 2014-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多