2015-10-19 11 views
12

Gibt es eine Funktion in Android Studio, um solche Dinge zu tun. Grundsätzlich liest mein gradle-Skript die Version mit dem Parameter benannte Version, auf der die Abhängigkeitsversion einer bestimmten Bibliothek festgelegt wird. Also, wenn ich Gradlew -Pversion = '1.2.3' mache, bekomme ich diese Zeichenfolge innerhalb von Gradle. Aber das funktioniert nur, wenn ich Gradle von der Konsole aus aufrufen.Passing -P-Parameter von Android-Studio grandle

Gibt es eine Möglichkeit, Parameter zu übergeben, wenn sie gestartet werden, wenn die Konfiguration für ein Projekt in Android Studio verwendet wird (kleines Spieldreieck drücken)?

HINWEIS: Ich habe Gradle VM-Optionen und Script-Parameter unter Standardkonfigurationen gefunden, aber das Hinzufügen von -Pversion = '1.2.3' scheint keinen Effekt zu haben.

Antwort

7

Run> Bearbeiten Konfigurationen ..

enter image description here

Ersetzen "abcdef" in Skriptparameter von Ihrem params.

+3

In meinem Fall funktioniert das leider nicht. Ich möchte den Parameter an grandle übergeben, wenn ich die Konfiguration der Android-Anwendung verwende (erste Option auf der linken Seite in deinem Screenshot), ich möchte Gradle nicht direkt ausführen. – PSIXO

4

Zum Beispiel versuchen wir, den Server-Basis-Endpunkt beim Erstellen des Projekts zu übergeben. Zuerst müssen wir eine Methode definieren, die URL wird und setzt es

def serverUrl = "https://mydefaulturl.com" 
task(runProgram){ 
    if(project.hasProperty("url")){ 
     serverUrl = url; 
    } 
} 

In Ihrem buildTypes Ihre Basis-URL mit diesem Wert zu erstellen:

debug{ 
    buildConfigFiled("java.lang.String","BASE_URL","$serverUrl") 
} 

Jetzt können wir debug passieren eine URL bauen und nutzen.

Sie können Ihr Projekt vom Terminal mit dem Befehl unten bauen:

./gradlew installDebug task runProgram '-Purl="https://yournewurl.com"' 
+0

Was ist das Hinzufügen eines Felds zum Erstellen von Config hier? – PSIXO

+0

Wenn Sie zwei oder mehr verschiedene URLs für Test und Produktion verwenden, können Sie Ihre Basis-URL mit Build-Varianten oder Build-Typen generieren. Vor der Produktion ist es kein guter Fall, einige kritische Variablen wie die Basis-URL zu kommentieren oder zu kommentieren. – savepopulation

+5

Die Frage ist zu fragen, ob es eine Möglichkeit gibt, das im Android Studio zu tun. Die Antwort hilft nicht. – KMP

5

Um Sie Parameter run Option von Android Studio bieten sollte Setup sie unter AndroidStudios Compile Einstellungen

Android Studio> Einstellungen. ..

Unter Compiler: ComandLineOptions enter image description here

+0

Auf AS 3.0.1 funktionierte das für mich, und erlaubt Instant Run-Fähigkeit beim Übergeben von Gradle-Eigenschaften. Es ist bedauerlich, dass dies global eingestellt werden muss und nicht pro Laufkonfiguration eingestellt werden kann. Außerdem, wie @KMP antwortete, funktioniert die Verwendung der Gradle-Aufgabe direkt mit einer Eigenschaft, aber es bricht Instant Run für mich. –