2015-10-19 2 views
12

Esiste una funzionalità all'interno di Android Studio per fare cose come questa. Fondamentalmente il mio script gradle legge il parametro named version in base al quale imposta la versione di dipendenza di una determinata libreria. Così quando faccio gradlew -Pversion = '1.2.3' ottengo questa stringa all'interno di gradle. Ma funziona solo se invoco gradle dalla console.Passare parametri -P a gradle da Android Studio

C'è un modo per passare i parametri a gradle quando si inizia a utilizzare la configurazione per il progetto all'interno di Android Studio (premendo il piccolo triangolo di riproduzione)?

NOTA: Ho trovato le opzioni di Gradle VM e i prameters di script con le configurazioni predefinite, ma aggiungendo -Pversion = '1.2.3' non sembra che abbia un effetto.

risposta

7

Esegui> Modifica configurazioni ..

enter image description here

sostituire "abcdef" nei parametri di script per vostri params.

+3

Purtroppo questo non funziona nel mio caso. Voglio passare il parametro a gradle quando utilizzo la configurazione dell'applicazione Android (prima opzione a sinistra nello screenshot) non voglio eseguire direttamente l'attività di Gradle. – PSIXO

4

Ad esempio, proviamo a passare l'endpoint della base del server durante la creazione del progetto. In primo luogo abbiamo bisogno di definire un metodo che ottiene url e la imposta

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

Nei tuoi buildTypes creare il tuo URL di base con questo valore:

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

Ora possiamo passare il debug costruire un URL e usarlo.

È possibile costruire il vostro progetto dal terminale con il seguente comando:

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

A cosa serve aggiungere un campo per creare la configurazione qui? – PSIXO

+0

se si utilizzano due o più URL diversi per test e produzione, è possibile generare l'URL base con varianti di build o tipi di build. prima della produzione non è un buon caso commentare o commentare alcune variabili critiche come l'url di base. – savepopulation

+5

La domanda sta chiedendo se c'è un modo per farlo all'interno dello studio Android. La risposta non aiuta. – KMP

5

Al fine di fornire parametro run possibilità di Android Studio è necessario impostare li in Preferenze AndroidStudios compilazione

Android Studio> Preferenze. ..

Sotto Compiler: ComandLineOptions enter image description here

+0

Su AS 3.0.1, questo ha funzionato per me, e consente la funzionalità di esecuzione istantanea mentre si superano le proprietà gradle. È sfortunato che questo debba essere impostato globalmente e non può essere impostato per configurazione di esecuzione. Inoltre, come ha risposto @KMP, l'utilizzo dell'attività gradle direttamente con una proprietà funziona, ma interrompe l'esecuzione immediata per me. –