я могу использовать cygwin со скриптом bash для обновления манифеста Android при коммите? - PullRequest
1 голос
/ 26 октября 2011

Я нашел эту ссылку https://stackoverflow.com/questions/6579697/android-how-to-make-the-versioncode-update-automatically-with-every-build, которая содержит следующий код:

#!/usr/bin/env bash                                                             

MANIFEST="AndroidManifest.xml"                                                  

if [ -f $MANIFEST ]                                                             
then                                                                            
    LINE=$(grep -o ${MANIFEST} -e 'android:versionCode="[0-9]*"');              
    declare -a LINE;                                                            
    LINE=(`echo $LINE | tr "\"" " "`);                                          
    VERSION=(${LINE[1]});                                                       
    INCREMENTED=$(($VERSION+1))                                                 
    sed "s/android:versionCode=\"[0-9]*\"/android:versionCode=\"${INCREMENTED}\"/" $MANIFEST > $MANIFEST.tmp && mv $MANIFEST.tmp $MANIFEST
    git add $MANIFEST                                                           
    echo "Updated android:versionCode to ${INCREMENTED} in ${MANIFEST}";        
fi   

Я использую TortoiseSVN с сервером Windows SVN (VisualSVN), поэтому мне интересно, если этоможно было бы как-то вставить в команду cygwin, чтобы хуки pre-commit в svn могли это запустить?Я не очень много использовал cygwin, но ищу способ обновлять имя моей версии каждый раз, когда создается коммит.

Редактировать: на самом деле похоже, что вы можете использовать инструментальный вызов FART http://fart -it.sourceforge.net / для поиска и замены текста, поэтому я могу написать пакетный скрипт в предварительной фиксации SVN для поиска и замены текста.

Редактирование # 2: FART будет более сложным, я собираюсь попробовать использовать первый скрипт, но замените «git add» на «svn add» и посмотрите, будет ли это работать

Ответы [ 2 ]

0 голосов
/ 30 ноября 2012

В том же посте, который вы упомянули, я опубликовал другое решение, потому что SVN смело рекомендует не изменять содержимое фиксации с помощью ловушки перед фиксацией, вы можете сделать все это испорченным! Ваш манифест может всегда сохранять один и тот же versionCode в svn, вместо этого вы должны изменить /bin/AndroidManifest.xml, который будет упакован в файл .apk

0 голосов
/ 26 октября 2011

Вы можете использовать Maven (который поддерживает разработку под Android ) с плагином buildnumber .

Это позволяет вам создавать номера сборки через SCM, через последовательный номер сборки или через временную метку. См. страницу использования .

...