Número de subversión en el proyecto de Android

Tengo un problema al agregar el número de revisión svn en mi aplicación Android. Hice una investigación en Google y encontré esto: http://ballardhack.wordpress.com/2010/09/28/subversion-revision-in-android-app-version-with-eclipse/ pero no quiero construye este proyecto en Eclipse. Compilo proyecto por 'mvn clean install android: deploy'

También encontré esto: http://maven-svn-revision-number-plugin.googlecode.com/svn/site/examples/resource_filtering.html

Hago el file 'revision.txt en / res / raw' y agrego en pom.xml esto:

<build> <finalName>${project.artifactId}</finalName> <sourceDirectory>src</sourceDirectory> <resources> <resource> <directory>res/raw/</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>com.google.code.maven-svn-revision-number-plugin</groupId> <artifactId>svn-revision-number-maven-plugin</artifactId> <version>1.13</version> <!-- please use the latest version --> <executions> <execution> <goals> <goal>revision</goal> </goals> </execution> </executions> <configuration> <entries> <entry> <prefix>prefix</prefix> </entry> </entries> </configuration> </plugin> 

¡pero no funciona! después de la compilation (mvn clean install) abro el file 'revision.txt' y tengo esto:

 repository = ${prefix.repository} path = ${prefix.path} revision = ${prefix.revision} mixedRevisions = ${prefix.mixedRevisions} committedRevision = ${prefix.committedRevision} committedDate = ${prefix.committedDate} status = ${prefix.status} specialStatus = ${prefix.specialStatus} 

cómo poner el número de revisión en el file con el plugin Maven SVN Revision Number?

¡Encontré la solución! Insistiendo en la lectura de la subversión del file actualizo AndroidManifest.xml.

en pom.xml agrego:

 <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> <executions> <execution> <id>update-manifest</id> <goals> <goal>manifest-update</goal> </goals> <configuration> <manifest> <versionName></versionName> <versionCode>${prefix.revision}</versionCode> </manifest> </configuration> </execution> </executions> </plugin> 

en código java:

 int version = 0; try { PackageInfo pi = getPackageManager().getPackageInfo(getPackageName(), 0); version = pi.versionCode; } catch (PackageManager.NameNotFoundException e) { Log.e("TAG", "Version number not found in package", e); } String version_name = "??"; try { PackageInfo pi = getPackageManager().getPackageInfo(getPackageName(), 0); version_name = pi.versionName; } catch (PackageManager.NameNotFoundException e) { Log.e("TAG", "Version name not found in package", e); } TextView tv_version = (TextView)findViewById(R.id.version); tv_version.setText("Version: "+ version_name + "." + String.valueOf(version)); 

Y finalmente funciona 🙂