Недавно мне нужно было автоматизировать обновление элемента versionName в файле AndroidManifest.xml. Это должно было быть запечатлено по времени и обновлено с правильным номером версии при запуске сборки. Мы используем maven как часть сборки, несколько плагинов пригодятся. Мы хотим использовать номер версии POM, чтобы можно было использовать такие инструменты, как плагин maven-release-plugin или плагин версий maven. Когда они запускаются, новый номер версии должен отражаться во встроенных APK.
Следующая магия, добавленная к части сборки пом, справляется с этим.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
< plugins > < plugin > < groupId >org.codehaus.mojo</ groupId > < artifactId >build-helper-maven-plugin</ artifactId > < version >1.8</ version > < executions > < execution > < id >parse-version</ id > < goals > < goal >parse-version</ goal > </ goals > < phase >validate</ phase > </ execution > </ executions > </ plugin > < plugin > < groupId >com.google.code.maven-replacer-plugin</ groupId > < artifactId >maven-replacer-plugin</ artifactId > < version >1.4.1</ version > < executions > < execution > < id >replace-version</ id > < phase >validate</ phase > < goals > < goal >replace</ goal > </ goals > </ execution > </ executions > < configuration > < file >AndroidManifest.xml</ file > < replacements > < replacement > < token >0.0.0</ token > < value >${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${maven.build.timestamp}</ value > </ replacement > </ replacements > < quiet >false</ quiet > </ configuration > </ plugin > </ plugins > |
Вы можете добавить это как часть профиля и включить его только тогда, когда вы создаете, скажем, Jenkins или когда вы делаете релиз. Ваш AndroidManifest.xml должен иметь значение versionName, равное 0.0.0, и когда сборка выполняется с включенным профилем, он заменит его версией pom, а также добавит отметку времени.
Ссылка: | Обновите номер версии AndroidManifest автоматически от нашего партнера JCG Дэвида Карвера в блоге Intellectual Cramps . |