Использование Android build.xml в eclipse?
У меня есть проект андроида, который имеет файл сборки Ant. Он отлично работает через командную строку:
[email protected]:~/git/$ ant
Buildfile: build.xml
[setup] Android SDK Tools Revision 8
[setup] Project Target: Android 2.1-update1
[setup] API level: 7
[setup]
... etc etc etc ...
Но когда я пытаюсь использовать это в eclipse, build.xml
имеет красный-X.
<?xml version="1.0" encoding="UTF-8"?>
<project name="MyWonderfulProject" default="help">
<project
подчеркивается с ошибкой: Целевая помощь по умолчанию не существует в этом проекте
Кажется, что все остальные в Интернете имеют эту проблему, и, похоже, это связано с тем, что build.xml
использует директивы, которые поступают из нескольких вложенных файлов, зависящих от Android, которые импортирует этот файл build.
У меня есть другие проекты в моей рабочей области, которые используют механизм сборки Eclipse, поэтому я знаю, что моя среда может компилировать, запускать и развертывать приложения для Android без проблем. Но этот файл сборки дает мне головные боли.
Что такое исправление?
Ответы
Ответ 1
Вариант 1:
Импортируйте файл шаблона Android ant в файл build.xml. Предполагая, что у вас есть sdk.dir
, определенный в local.properties
и указывающий на ваш установочный каталог Android, добавьте следующее под элементом проекта:
<import file="${sdk.dir}/platforms/${target}/templates/android_rules.xml" />
Вариант 2:
Чтобы использовать целевые объекты Android ant в перспективе Eclipse ant, это не поможет. Кажется, что существует некоторая общая несовместимость уровня, которую я не решил полностью решить, но чтобы все было на удовлетворительном уровне, хотя вы можете:
- Импортируйте проект build.xml в качестве строителя. Свойства проекта → Строители → импорт.
- Не используйте параметр 1. Вместо этого игнорируйте предупреждение о недостающем шаблоне. Глобальные свойства → ant → Редактор → Проблемы. Добавьте build.xml в имена.
Это повлияет на все проекты и проигнорирует фактические ошибки, поэтому это не идеальное решение. Но вы можете использовать настройки сборки Android в Eclipse, а также из командной строки.
Ответ 2
В файле ${sdk.dir}/tools/ ant/main_rules.xml есть одна цель, называемая "help", как показано ниже,
<target name="help">
<echo>Android Ant Build. Available targets:</echo>
<echo> help: Displays this help.</echo>
<echo> clean: Removes output files created by other targets.</echo>
<echo> compile: Compiles project .java files into .class files.</echo>
<echo> debug: Builds the application and signs it with a debug key.</echo>
<echo> release: Builds the application. The generated apk file must be</echo>
<echo> signed before it is published.</echo>
<echo> install: Installs/reinstalls the debug package onto a running</echo>
<echo> emulator or device.</echo>
<echo> If the application was previously installed, the</echo>
<echo> signatures must match.</echo>
<echo> uninstall: Uninstalls the application from a running emulator or</echo>
<echo> device.</echo>
</target>
скопируйте этот файл в файл build.xml и он должен работать.
Ответ 3
Это не устраняет проблему, но это заставит Eclipse перестать мешать. Перейдите на Window > Preferences > Ant > Editor
и выберите вкладку Problems
. Установите флажок ignore all buildfile problems
.
Ответ 4
У меня есть одна и та же проблема, и все, что я сделал, было goto на eclipse
Window->Preferences->Ant->Editor->Problems
и нажмите
Ignore All Build File Problems.
Ответ 5
На самом деле это не ответ, но для того, что стоит, я смог устранить проблему, удалив проект eclipse из рабочей области, удалив. * в моем каталоге проекта и начиная с. Eclipse FTW!
Ответ 6
Если ваш файл build.xml имеет свою собственную цель, а не полагается на импортированный, то вам нужно поставить эту цель перед строкой
<taskdef name="setup" classname="com.android.ant.SetupTask" classpathref="android.antlibs" />