Как прочитать код версии из manifest.xml в build.xml с помощью ant - PullRequest
3 голосов
/ 15 февраля 2012

Я хочу переименовать мой apk из myapp-release.apk в myapp-1.0.30.apk. Я хочу сделать это в build.xml. Я хочу прочитать версию в моем манифесте, а затем переименовать apk. Я делаю это с помощью муравья.

спасибо, снеха

Ответы [ 2 ]

4 голосов
/ 21 августа 2012

Я нашел ответ на свой вопрос:

<path id="android.antlibs">
            <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
</path>
<taskdef name="xpath" classname="com.android.ant.XPathTask" classpathref="android.antlibs" />
<xpath input="./AndroidManifest.xml" expression="/manifest/@android:versionName" output="manifest.versionName" />
<echo message="versionName = ${manifest.versionName}" />
0 голосов
/ 15 февраля 2012

Просто используйте macrodef из https://stackoverflow.com/a/5318044/130683 и адаптируйте его под свои нужды, что-то вроде:

<macrodef name="mfgrep">
  <attribute name="jar"/>
  <attribute name="key"/>
  <attribute name="keysave"/>
    <sequential>
      <loadproperties>
        <zipentry zipfile="@{jar}" name="META-INF/MANIFEST.MF"/>
      </loadproperties>
      <echo>@{key} => ${@{key}}</echo>
      <property name="@{keysave}" value="${@{key}}"/>
    </sequential>
</macrodef> 

 <!-- Grep a key from Manifest -->
 <mfgrep 
   jar="/home/gilreb/temp/test.jar"
   key="Specification-Version"
   keysave="foobar"
 />

впоследствии используйте свойство $ {foobar} для переименования вашего файла:

<move file="myapp-release.apk" tofile="myapp-${foobar}.apk"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...