Create a folder called build in the root directory of the project, and a file build.properties with the following content:
build.time=@buildtime@
Using the maven replacer plugin we can replace the token @buildtime@ within the build.properties file with the build timestamp value, and then let the Android application read that value and use it.
<plugins> <plugin> <groupId>com.google.code.maven-replacer-plugin</groupId> <artifactId>replacer</artifactId> <version>1.5.2</version> <executions> <execution> <phase>validate</phase> <goals> <goal>replace</goal> </goals> </execution> </executions> <configuration> <file>build/build.properties</file> <outputFile>res/raw/build.properties</outputFile> <replacements> <replacement> <token>@buildtime@</token> <value>${maven.build.timestamp}</value> </replacement> </replacements> </configuration> </plugin> </plugin>
Run this task with mvn validate command. This will do nothing but replace the tokens from build.properties file with the timestamp value, and output the result to a new file in res/raw.
From here on the file can be accessed as a raw resource and read as a regular properties file.
Reading the properties file:
InputStream rawResource = resources.openRawResource(R.raw.build); Properties properties = new Properties(); properties.load(rawResource); String buildTime = properties.getProperty("build.time");
