Staying out of deprecated methods is useful, so your app won’t run in some compatibility mode on the device. Plus having clean build output is also nice 🙂
While building an app, Gradle may produces some warnings telling you that some input files are using unchecked or unsafe operations or they are overriding a deprecated API.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
As the message suggest, we should recompile with -Xlint to get more details about the warnings.
In the app level build.gradle file
app level build.gradle file
we should add a section labelled allprojects{}(if not already present).
In the allprojects{} section we will instruct Gradle to apply custom compiler arguments for each task involving Java code compilation.
Since I adopted Fabric as a way to monitor vital app stats such as ‘Time in App per User‘ and it’s Beta distribution platform to distribute test builds, increasing APK’s versionCode numbers became a tedious task.
I decided to simplify the things by letting Gradle to do auto versionCode increments when producing release APK’s
Our implementation of build number increments will consist of a property file named version.properties located in the root folder of our project.
The property file will contain 2 variables, one defining the version name such as “2.3” and one defining the version code such as 15
VERSION_NAME=2.3VERSION_CODE=19
VERSION_NAME=2.3
VERSION_CODE=19
In our app module build.gradle file
build.gradle
we will define a function which takes care of retrieving the a bough mentioned values from the properties file and increment the VERSION_CODE if needed.
/**
* Get's value from 'version.properties' file
* @param varName the name of the variable which value we wan't to get.
* @return the variable value.
*/
def getVersionPropertiesValue(def varName){
def propertiesFile = file('version.properties')if(!propertiesFile.canRead()){thrownew GradleException("Could not read "+ propertiesFile.name)}Properties properties =newProperties();
properties.load(newFileInputStream(propertiesFile))
def propertyValue = properties[varName]if(varName =='VERSION_CODE'){// If we are building release increment the version codeList gradleTasksNames = gradle.startParameter.getTaskNames();for(String taskName : gradleTasksNames){if(taskName.contains("Release")){
propertyValue = propertyValue.toInteger()+1
properties[varName]= propertyValue.toString()
properties.store(propertiesFile.newWriter(), null)break}}}return propertyValue
}
/**
* Get's value from 'version.properties' file
* @param varName the name of the variable which value we wan't to get.
* @return the variable value.
*/
def getVersionPropertiesValue(def varName)
{
def propertiesFile = file('version.properties')
if(!propertiesFile.canRead()) {
throw new GradleException("Could not read " + propertiesFile.name)
}
Properties properties = new Properties();
properties.load(new FileInputStream(propertiesFile))
def propertyValue = properties[varName]
if(varName == 'VERSION_CODE')
{
// If we are building release increment the version code
List gradleTasksNames = gradle.startParameter.getTaskNames();
for(String taskName : gradleTasksNames)
{
if(taskName.contains("Release"))
{
propertyValue = propertyValue.toInteger() + 1
properties[varName] = propertyValue.toString()
properties.store(propertiesFile.newWriter(), null)
break
}
}
}
return propertyValue
}
In the defaultConfig section of the gradle build script we will call this function to retrieve values for the versionName and versionCode of our app.
Now each time a release build is made, the version code will increment automatically. If we want to change the version name we can do so by changing the value of VERSION_NAME property.
This is the best ‘Alien Swarm’ release to date. Featuring Facebook and Google+ share integration, so you can share your experience with friends and family. Sound and performance improvements, few bug fixes and more. Check it out!
Version 1.4.1 Change Log:
* Facebook and Google+ share improvements.
* Fixed visual bug when the game is running on tablets with Android 2.3.x
* Fixed crash when running on devices with Android 2.3.x
* Removed the ‘-1’ sign when hitting an enemy with a health bar.
* Sound improvements
* Small apk size reduction
* Reduced start up time