Сборка приложения для Android с помощью ant - как насчет android_rules.xml? - PullRequest
2 голосов
/ 15 августа 2011

Я только что получил свою сборку, используя муравей после долгих усилий.

В принципе, теперь все довольно просто:

<project name="MyDroid" default="help" >
    <property file="local.properties" />
    <property file="build.properties" />
    <property file="default.properties" />

    <path id="android.antlibs">
        <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
        <pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
        <pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
        <pathelement path="${sdk.dir}/tools/lib/apkbuilder.jar" />
        <pathelement path="${sdk.dir}/tools/lib/jarutils.jar" />
    </path>

    <taskdef name="setup"
            classname="com.android.ant.SetupTask"
            classpathref="android.antlibs" 
      />
    <import file="C:\Applications\android-sdk-windows\tools\ant\main_rules.xml" />

    <setup import="false" />

    <!-- comment this line for build using nant, its silly , i know -->
    <!--<import file="${sdk.dir}/platforms/android-7/templates/android_rules.xml"  />-->

</project>

Как вы видите, я ссылаюсь на файл main_rules.xml муравья, а не на платформу, которую я использую.

В моем манифесте:

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="10" />

У меня есть несколько вопросов по этому поводу:

  1. Безопасно ли использовать муравьи main_rules вместо платформ?
  2. Я заметил, что не на всех платформах есть main_rules.xml? Начиная с android-9 файл больше не находится в каталоге шаблонов?
  3. Когда я пытался ссылаться на main_rules из каталога android-7, я получал много ошибок, используя свой nant buildscript. В основном атрибуты, которые не могут быть найдены в библиотеках, на которые я ссылаюсь. Должен ли я использовать main_rules.xml из версии minSdk или targetSdk?
  4. Я не смог использовать $ {target}, потому что он настроен на target = Google Inc.: API Google: 7, и это просто не сработало, потому что на диске нет реального пути. Любое решение для этого?

Большое спасибо.

1 Ответ

0 голосов
/ 28 сентября 2012

Некоторое время до android-16 был добавлен инструмент командной строки android, который генерирует файл build.xml, включающий файл ${android-sdk}/tools/ant/main_rules.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...