Sto utilizzando la seguente configurazione semplificata in un progetto di applicazione Android.Avviso gradle: variant.getOutputFile() e variant.setOutputFile() sono deprecati
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 20
versionCode 1
versionName "1.0.0"
applicationVariants.all { variant ->
def file = variant.outputFile
def fileName = file.name.replace(".apk", "-" + versionName + ".apk")
variant.outputFile = new File(file.parent, fileName)
}
}
}
Ora che ho aggiornato il plug-in per Gradle v.0.13.0 e Gradle a v.2.1. i seguenti avvisi compaiono:
WARNING [Project: :MyApp] variant.getOutputFile() is deprecated.
Call it on one of variant.getOutputs() instead.
WARNING [Project: :MyApp] variant.setOutputFile() is deprecated.
Call it on one of variant.getOutputs() instead.
WARNING [Project: :MyApp] variant.getOutputFile() is deprecated.
Call it on one of variant.getOutputs() instead.
WARNING [Project: :MyApp] variant.setOutputFile() is deprecated.
Call it on one of variant.getOutputs() instead.
Come posso riscrivere lo script Groovy per sbarazzarsi dei warning di deprecazione?
Hai davvero provato a eseguire questo codice? Viene visualizzato il messaggio "Impossibile trovare il file di proprietà" su com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated @ 4b50996. Questo plug-in per android gradle è brutale. – Merk
@Merk In realtà, sì, sono venuto qui cercando una risposta alla stessa domanda, e finalmente sono riuscito a farlo funzionare con lo snippet sopra (anche se ho qualche codice leggermente diverso all'interno del if). Sembra che tu abbia scritto qualcosa di sbagliato se non riesci a trovare la proprietà 'file', dal momento che nessuna proprietà di questo tipo è usata nel mio snippet :) – Thorbear
Sconcertante perché questa è la riga incriminata: 'output.outputFile = new File (file.parent , "AppName_playstorebuild.apk") '. BTW Sto usando 'classpath 'com.android.tools.build: gradle: 0.13.0'' – Merk