2012-06-28 4 views
21

Я добавляю проект андроидной библиотеки в свое приложение для Android (в данном случае, Beintoo). Это не мое; Это внешняя библиотека. Однако он не поставляется с build.xml. Строительство в Eclipse, работает нормально, но когда я пытаюсь построить мое приложение с муравьем, я получаю это:Добавление проекта андроидной библиотеки в проект андроида предотвращает создание Мута

BUILD FAILED 
C:\Sandbox\MyProject\build.xml:110: The following error occurred while executing this line: 
C:\Sandbox\MyProject\build.xml:41: The following error occurred while executing this line: 
C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:515: Invalid file: C:\Git\Beintoo-Android\beintoo-android-sdk\BeintooSDK\build.xml 

Это совершенно верно. Недопустимый файл, поскольку он не существует. Я бы не знал, что делать, чтобы добавить это безопасно, и если это даже хорошая идея.

Я узнал, что я не могу просто построить проект библиотеки в банку. Как я могу получить мой проект для сборки в Ant с этим проектом библиотеки?

ответ

33

Хорошо, так, Error 454 в ответе был близок, но не совсем верно. Поскольку r14 от Android Tools, каждый проект библиотеки должен иметь свой собственный build.xml, если он будет построен Ant, как отмечено здесь:

https://groups.google.com/forum/?fromgroups#!topic/adt-dev/Z2e3dY-3Ma0

Запуск android update lib-project (который, как ошибка 454 нот, в папка android-sdk/tools, которая должна находиться в PATH) в проекте библиотеки добавит общий файл build.xml и позволит создать основной проект.

+3

Отличный ответ! В частности, мне пришлось запустить «android update lib-project -p». изнутри проекта библиотеки. Это создает build.xml и proguard-project.txt. – runamok

19

Для проектов библиотеки, вам нужно, чтобы перейти к корневой библиотеке проекта и запуск:

android update lib-project -p . 

андроид исполняемых в андроиде папки SDK/инструментах, которые должны быть добавлены к переменному пути в вашем ОПЕРАЦИОННЫЕ СИСТЕМЫ. Как только вы запустите это, будут созданы необходимые файлы сборки, и ваша сборка муравьев будет успешной.

Аналогично, если ваш корневой проект не имеет необходимые файлы сборка, вам нужно будет перейти к основному корню проекта и запуск:

android update project -p . 
+0

Я обнаружил и запустил «проект-андроид lib-project» в проекте библиотеки, который, казалось, помог, но не полностью преуспел. Выполнение вашего решения в приложении бросает исключение NullPointerException, поэтому, пока я не пойму, что проблема, я не могу сказать, насколько она успешна в обычных ситуациях. – AlbeyAmakiir

2

В дополнение к двум предыдущим правильным ответам мне пришлось добавить --target android-16, потому что я получал «Ошибка: у проекта либо нет целевого набора, либо цель недействительна».

Так что в моем случае

android update lib-project -p . --target android-16 

ли это. (замените 16 по мере необходимости)

Смежные вопросы