Ручная компиляция с помощью ANT проекта Android eclipse

У меня есть проект затмения. Этот проект довольно сложен, использует 2 или 3 библиотечных проекта и, наконец, запускает proguard.

Я могу собрать проект из графического интерфейса eclipse, и все в порядке.

Однако, когда я запускаю его из командной строки, ant release терпит неудачу, а proguard жалуется на вещи, которые, как мне кажется, связаны с отсутствующими компонентами библиотеки.

На первый взгляд есть тонкие различия, такие как ANT, не учитывающие файлы, помеченные для исключения в графическом интерфейсе eclipse, и я полагаю, что если бы я нашел это, были бы и некоторые другие вещи. Последовательность сборки заходит довольно далеко, но в конечном итоге всегда не удается собрать проект.

  • Интересно, есть ли специальный файл конфигурации ant, используемый Eclipse, поэтому я могу вручную запустить ANT и получить тот же результат, что и Eclipse.

  • Это для более крупного проекта, поэтому я не очень заинтересован в ручном исправлении файлов сборки ANT, но хочу знать, есть ли где-нибудь файл, который я могу использовать, чтобы сообщить ANT, как правильно построить eclipse или сделать вывод о том, как eclipse настраивает ANT с дополнительными параметрами, обеспечивающими успешное выполнение сборки.


person rupps    schedule 13.11.2014    source источник


Ответы (1)


Я также компилирую проект, который зависит от еще 4 проектов библиотек и использует еще 3 файла библиотеки jar. Скрипт Ant компилируется, делает обфускацию с помощью proguard и подписывает apk в конце без каких-либо проблем.

Чтобы все это заработало, мне просто нужно было обновить проект для использования сборки ant, как это описано в официальная документация по Android.

  1. Откройте папку проекта и вызовите android update project -p .
  2. Повторите то же самое для всех проектов библиотеки

Этого должно быть достаточно, чтобы все компилировалось. Возможно, если вы запустите эту команду, она устранит ваши проблемы. Если это не так, сообщите нам, какая именно ошибка proguard у вас есть.

person sergej shafarenka    schedule 13.11.2014
comment
Это оно!!!! стыдно, что это было в официальных документах :) кстати, это android update project -p . - person rupps; 13.11.2014
comment
отличный! исправил ответ :) - person sergej shafarenka; 13.11.2014
comment
ошибки proguard связаны с невозможностью найти внутренний внутренний класс, я все еще его понимаю, но, возможно, это связано с другими вещами, которые я делаю: я объединяю libproject с основным проектом для лучшей запутанности, и это кажется чем-то застревает в процессе.. подозреваю, что это связано с вендинговыми классами google, которые построены экзотическим способом из сгенерированного java-файла - person rupps; 13.11.2014
comment
Не должно быть проблемой. Ищите точное сообщение об ошибке в stackoverflow. - person sergej shafarenka; 13.11.2014