2014-06-30 8 views
6

Ich habe gerade das App Engine-Modul zu meiner App hinzugefügt und nach der Synchronisierung begann Gradle, den App Engine-Zip von Maven herunterzuladen. Die zip-Datei von App Engine ist ungefähr 150mb + und die Verwendung von Maven zum automatischen Herunterladen ist schmerzhaft langsam, also entschied ich mich, die Appengine Java sdk (appengine-java-sdk-1.9.6.zip) manuell herunterzuladen und sie manuell zu installieren. Ich habe die Zip jetzt, aber wo stelle ich sie, so dass Android Studio (0.8.1) es aufgreift und installiert, anstatt es aus Maven's Repository zu laden?Wie man App Engine in Android Studio manuell installiert?

Danke!

Antwort

4

Die Vorlagen für Appengine, die mit Android Studio geliefert werden, laden die Appengine SDK standardmäßig herunter ... wenn Sie also diese Vorlagen verwenden, müssen Sie Folgendes tun.

bearbeiten die build.gradle Datei und entfernen

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

und

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

Dann können Sie ein heruntergeladenes sdk verweisen auf eine Systemeigenschaft verwendet wird. Erstellen Sie eine Datei im selben Verzeichnis wie die build.gradle Datei in Ihrer appengine Modul

gradle.properties

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

Es gibt auch andere Möglichkeiten, um die Lage des sdk zu spezifizieren (wie eine Umgebungsvariable verwendet wird), dass könnte besser für Sie funktionieren, überprüfen Sie https://github.com/GoogleCloudPlatform/gradle-appengine-plugin

+0

ich diese Methode implementiert haben und jetzt bekomme ich "Es gab einen Fehler beim Ausführen des Endpoints-Befehls get-client-lib: Re Zeitüberschreitung der Anzeige ". – gcmx

+0

Das ist ein anderer Netzwerkbefehl, hat es lange gedauert? Kannst du es mit --info oder --debug oder --stacktrace ausführen? – loosebazooka

+2

Vielen Dank für Ihre Hilfe, es wurde schließlich von selbst heruntergeladen. Und für jeden, der denselben Schuh hat, wird App Engine standardmäßig in das Hauptverzeichnis von ".gradle" heruntergeladen. Extrahiere deine Dateien dort und finde sie in deinem Projekt. – gcmx

1

Ein völlig anderer Ansatz wäre, ein lokales Maven-Repository für die appengine SDK zu erstellen und verweisen Sie direkt und alles andere intakt lassen.

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

So ist diese Methode am einfachsten, wenn Sie die appengine sdk direkt von maven.org greifen, weil es richtig benannt werden. (http://search.maven.org/#artifactdetails|com.google.appengine|appengine-java-sdk|1.9.6|zip), aber wähle die Version aus, auf die du in deiner Build-Datei verweisst.

Über das Maven Repo müssen Sie es richtig einrichten. Wenn Ihre heruntergeladene Zip in /path/to/myCustomRepo10 ist, müssen Sie die Zip in den richtigen Speicherort: /path/to/myCustomRepo/com/google/appengine/appengine-java-sdk/1.9.6 je nach der Versionsnummer, die Sie verwenden.

Wenn Sie nur die Datei zip haben im Repository-Verzeichnis Sie die downloadSdk Zeile ändern müssen, um anzuzeigen, dass alle verfügbar ist, ist die „zip“ mit dem @zip Modifikator.

downloadSdk "com.google.appengine:appengine-java-sdk:[email protected]" 

Wenn Sie nicht möchten, dass die @zip verwenden Sie eine einfache .pom Datei (neben dem .zip) hinzufügen können, so kann das System korrekt die Referenz

appengine-java bestimmen -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> 
0

Eine andere Lösung, gelöst!

Legen Sie den Pfad des app engine SDK in der Datei grddle fest.Eigenschaften:

systemProp.appengine.sdk.root=C:/<PATH UNTIL BEFORE OF THE FOLDER APP_ENGINE_SDK>/appengine-java-sdk-1.9.40

Beispiel:

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

Bearbeiten Sie die build.gradle Datei und ändern auf false der folgenden Zeile:

appengine { downloadSdk = false }

Verwandte Themen