Один из возможных подходов.
В вашем AndroidManifest.xml добавьте метаданные в свои действия, чтобы сохранить ревизию или что вы хотите использовать
<activity android:name="SampleActivity">
<meta-data android:value="$Rev: 164 $" android:name="com.example.version" />
</activity>
тогда в вашей деятельности
try {
final ActivityInfo ai = getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
final String version = (String)ai.metaData.get("com.example.version");
System.out.println("version: " + version);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Вы также можете установить android:versionName="$Rev$"
в своем манифесте.
Чтобы автоматизировать процесс увеличения номера версии в android:versionCode
и фиксации AndroidManifest.xml
, существуют различные варианты, построение с использованием maven
или ant
может быть альтернативой, но давайте сделаем это, используя Eclipse и ADT.
Сначала добавьте в ваш проект конструктор ( Мой проект -> Свойства -> Строители )
этот конструктор должен вызывать android-increment-manifest-version
, используя AndroidManifest.xml
проекта в качестве аргумента
Сценарий android-increment-manifest-version похож на
#! /bin/bash
# android-increment-manifest-version:
# increment the version number found in the AndroidManifest.xml file
# (android:versionCode="n") in place and commit it to subversion.
#
# Copyright (C) 2010 Diego Torres Milano - http://dtmilano.blogspot.com
usage() {
echo "usage: $PROGNAME AndroidManifest.xml" >&2
exit 1
}
PROGNAME=$(basename $0)
if [ "$#" -ne 1 ]
then
usage
fi
MANIFEST="$1"
perl -npi -e 's/^(.*android:versionCode=")(\d+)(".*)$/"$1" . ($2+1) . "$3"/e;' $MANIFEST
svn ci -m "Version incremented" $MANIFEST