I am using the following simplified configuration in an Android application project.
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) } } }
Now that I updated the Gradle plug-in to v.0.13.0 and Gradle to v.2.1. the following warnings appear:
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.
How can I rewrite the Groovy script to get rid of the deprecation warnings?
Method 1. Then just click on Build, Execution, Deployment Tab Build → Tools → Gradle → Use default Gradle wrapper (recommended) option. Step 2: Selecting desired Gradle version. Then click on the Project option.
A Java version between 8 and 18 is required to execute Gradle. Java 19 and later versions are not yet supported. Java 6 and 7 can still be used for compilation and forked test execution.
Building on the answer from Larry Schiefer you can change the script to something like this:
android { applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { def fileName = outputFile.name.replace('.apk', "-${versionName}.apk") output.outputFile = new File(outputFile.parent, fileName) } } } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With