Я развиваюсь на Android с Eclipse некоторое время, и недавно я переключился на использование Ant для моей системы сборки. Это дает мне ряд полезных преимуществ, но, похоже, действительно сильно нарушает поведение Eclipse в отношении здания и эмулятора.
Моя самая большая проблема прямо сейчас в том, что если я что-то изменил в своем коде и нажал кнопки "Запустить" или "Отладить", он перестроит приложение, как предполагалось, но когда придет время установить приложение и запустить это, я получаю страшное "приложение, уже развернутое. Не нужно переустанавливать". сообщение, и он отказывается его устанавливать. Даже если я делаю "чистую" и восстанавливаю свое приложение с нуля, он по-прежнему не признает его более новым, чем тот, который установлен на эмуляторе.
Конечно, я могу сначала удалить приложение из своего эмулятора, но это огромный PITA, потому что мое приложение включает настройку учетной записи пользователя после начальной установки, и я не хочу делать это каждый раз, когда я тестирование изменений. Я также могу принудительно установить из командной строки через "adb -e install -r...". Это то, что я делаю сейчас, но это дополнительный шаг, который не должен быть необходимым. Мне бы очень хотелось, чтобы я смог использовать часть я моей IDE и фактически компилировать, запускать и устанавливать из нее так, как я должен быть в состоянии.
Как Android SDK в Eclipse решает, нужно ли переустанавливать приложение? Есть ли временная метка для определенного файла, на который она смотрит? Есть ли способ заставить его устанавливать каждый раз?
Должно быть решение этой проблемы.
Это прекрасно работает в моем затмении, и это всегда было. Поэтому я бы предложил:
Или вы можете обойти эту проблему, добавив дополнительный шаг к вашему проекту с помощью командной строки "adb -e install -r..." (используя ant build script).