Пользовательская сборка Android с использованием Ant - PullRequest
10 голосов
/ 16 декабря 2011

Эти 4 файла (build.xml, local.properties, projects.properties, proguard.cfg) генерируются автоматически при запуске:

проект обновления Android --name TestApp --target 10-p.

Обновлен project.properties

Обновлен local.properties

Добавлен файл ./build.xml

Обновлен файл ./proguard.cfg

Но я хочу, чтобы файл "auto-gen" build.xml также включал следующий код "предварительной компиляции", есть ли способ сделать это?Есть ли какой-нибудь файл «include» или файл «template», который может включать это?

  <target name="config">

  <property name="config-target-path" value="${source.dir}/com/androidengineer/antbuild"/>

  <!-- Copy the configuration file, replacing tokens in the file. -->
  <copy file="config/Config.java" todir="${config-target-path}"
        overwrite="true" encoding="utf-8">
   <filterset>
    <filter token="CONFIG.LOGGING" value="${config.logging}"/>
   </filterset>
  </copy>

 </target>

Ответы [ 3 ]

13 голосов
/ 04 сентября 2012

build.xml, генерируемый инструментом android (по крайней мере, при использовании Android SDK r20), содержит этот фрагмент кода:

<!--
    Import per project custom build rules if present at the root of the project.
    This is the place to put custom intermediary targets such as:
        -pre-build
        -pre-compile
        -post-compile (This is typically used for code obfuscation.
                       Compiled code location: ${out.classes.absolute.dir}
                       If this is not done in place, override ${out.dex.input.absolute.dir})
        -post-package
        -post-build
        -pre-clean
-->
<import file="custom_rules.xml" optional="true" />

Итак, что я делаю, чтобы создать дополнительные цели или настроить существующие цели, так это создать файл custom_rules.xml с этими новыми целями. Обратите внимание, что в моих тестах цели должны быть вложены в тег <project>, поэтому просто скопируйте первые две строки сгенерированного build.xml в custom_rules.xml и не забывайте о закрывающем теге </project> в конец. Поскольку custom_rules.xml не будет перезаписан android update, ваши изменения будут постоянными и могут быть проверены в выбранном вами инструменте SCM.

3 голосов
/ 20 декабря 2011

Может быть, вы можете проверить ответ на этот вопрос:

Плагин ADT автоматически создает файл сборки ant?

в ответе есть параграф, говорящий ...

Кроме того, вы можете просто скопировать шаблон build.xml непосредственно из $ ANDROID_HOME / tools / lib / build.template, а затем просто изменить имя проекта.

Измените этот файл и запустите команды, чтобы посмотреть, работает ли он.

Обновление

Также отметьте «Настройка сборки» этой статьи: http://www.androidengineer.com/2010/06/using-ant-to-automate-building-android.html

1 голос
/ 17 февраля 2012

В самой build.xml она говорит вам, как это сделать. Смотрите следующий комментарий из файла:

<!--

    ***********************
    ****** IMPORTANT ******
    ***********************
    In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
    in order to avoid having your file be overridden by tools such as "android update project"
-->
<!-- version-tag: 1 -->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...