Ответ 1
Ответ здесь:
http://pissedoff-techie.blogspot.in/2014/07/android-build-fails-with-ant-on-eclipse.html
- Отключить автообслуживание.
- удалить папку crunch.
- запустите ant script.
- включить автоматическую сборку.
В течение многих лет я использовал интеграцию Ant для Eclipse для создания моих проектов для Android как описанных Google на этой странице документации. Это мой любимый способ создания релизов, потому что я могу просто нажать "Запустить внешний инструмент" в Eclipse, чтобы запустить сборку Ant, и он работает в фоновом режиме.
С недавнего времени (я считаю, ADT 22.0 или 22.1), я получаю следующий сбой:
[echo] Handling Resources... [aapt] Generating resource IDs... [aapt] invalid resource directory name: C:\path\to\project\bin\res/crunch
СТРОГО НЕИСПРАВНО
C:\Android\android-sdk\tools\ant\build.xml: 653: При выполнении этой строки произошла следующая ошибка:
C:\Android\android-sdk\tools\ant\build.xml: 698: null: 1
Я не уверен, в чем причина этого, поскольку AAPT, похоже, генерирует сам каталог "crunch". Я пробовал очистить свой проект и отключить автоматическое здание в Eclipse, но безрезультатно.
Я также попытался выполнить ant release
вне Eclipse, но это дает ту же ошибку. Выполнение ant clean release
тоже не работает, поскольку оно пытается удалить банки, которые все еще используются Eclipse. Поэтому единственным решением, которое я нашел для работы, является:
ant clean release
Это мучительно, потому что, как известно, перезапуск Eclipse - это королевская боль. Кроме того, все затронутые проекты должны быть очищены, что заставляет весь процесс занять до получаса. Я открыл вопроС# 60496 на b.android.com, но не услышал официального ответа.
Есть ли какое-либо решение для этого, кроме кусания пули и перехода на Android Studio?
Ответ здесь:
http://pissedoff-techie.blogspot.in/2014/07/android-build-fails-with-ant-on-eclipse.html
Также из https://code.google.com/p/android/issues/detail?id=60496 я просто удалил gen/* и bin/* в проекте и ссылался на библиотеку. Это сработало.
У меня была аналогичная ошибка на машине Linux. Оказывается, что aapt использует 32-битные библиотеки эмуляции, и если они по какой-то причине не работают, процесс сборки может произойти с таинственным образом в этом месте в файле build.xml.
В моем случае причиной отказа было CircleCI пришлось исправлять свое ядро в черный список недавно найденная уязвимость в 32-битном эмуляционном API. Затем они смогли исправить свое ядро, чтобы устранить уязвимость в течение нескольких дней.
В OSX я только что очистил проект и перестроился, и это сработало для меня.
Проект > Очистить (выберите название проекта)
Если вы используете команду ant из командной строки, используйте команду 'ant clean release' вместо просто 'ant release'. Если вы используете eclipse, отключите autobuild delete crunch folder, а затем выполните ant больше информации: http://pissedoff-techie.blogspot.in/2014/07/android-build-fails-with-ant-on-eclipse.html
Я попробовал решения здесь, такие как: перезапуск eclipse, очистка проекта и перестройка, удаление папки crunch и запуск ant снова и т.д. После запуска ant script (из eclipse) кажется, что ADT вмешивается и генерирует crunch folder. Обходной путь для меня состоял в том, чтобы запустить ant
из командной строки. Первоначально мне пришлось выполнить следующие шаги, чтобы удалить папку crunch:
Build Automatically
в меню Project
.cruch
.ant clean release
из командной строки.Привет, попробуйте эту строку и снова создайте ее.
rm -fR $(find . -type d -name crunch|xargs)
У меня тоже был такой же вопрос. Я вручную удалил папки "bin" и "gen" библиотеки и попытался. Это сработало для меня.
Добавьте эту строку в начало custom_rules.xml
<delete dir="../YourLibraryName/bin/res/crunch"/>
если у вас нет custom_rules.xml, создайте его и поместите в файл. Поместите custom_rules.xml в каталог проекта.
<?xml version="1.0" encoding="UTF-8"?>
<project name="imported" >
<delete dir="../YourLibraryName/bin/res/crunch"/>
</project>
UPDATE
Это можно сделать, добавив следующую строку в проект библиотеки build.xml.
<delete dir="${out.absolute.dir}"/res/crunch />