Недавно мне нужно было автоматизировать обновление элемента 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 . |