Non so se fa comodo, è possibile creare un file Gradle init comune, che si esegue da linea di comando, quindi non è una manipolazione del codice sorgente, in cui si stampa tutti i dati necessari . Ma l'uscita gradle è sporca.
Questa è frammento di init.gradle che è in /Users/username
allprojects{
afterEvaluate({//listen for project evaluation
println(project.name)//it is supposed to be 2 projects "ProjName" and "app"
if(project.name.equalsIgnoreCase("app")){//or any other condtion to check if it is inner android project
project.task("getVersion",{
println("versionCode = ${android.defaultConfig.versionCode}")
})
}
});
}
si avvia questo script come ./gradlew --I /Users/username/init.gradle
Questo è quello che ho come uscita
music
app
versionCode = 1
:help
Welcome to Gradle 2.4.
To run a build, run gradlew <task> ...
To see a list of available tasks, run gradlew tasks
To see a list of command-line options, run gradlew --help
To see more detail about a task, run gradlew help --task <task>
BUILD SUCCESSFUL
Total time: 6.929 secs
This build could be faster, please consider using the Gradle Daemon: http://gradle.org/docs/2.4/userguide/gradle_daemon.html
Quindi questo è quello che potrebbe essere fatto, un'altra opzione disponibile è analizzare il file build.gradle o manifest.xml in bash, o scrivere la propria utility della console che lo farà con un output più pulito. Spero di aver aiutato.
Stai cercando un'attività che stamperà il codice di versione e il nome dell'app quando viene eseguito dalla riga di comando?Inoltre, cosa intendi per "modulo Android principale"? – Krishnaraj
Lo voglio senza modificare/aggiornare il codice sorgente. –
e impostare o OTTENERE i dati dalla linea di comando gradle? – djodjo