Я выполнил следующие шаги, которые я нашел здесь (не могу найти URL прямо сейчас, извините), чтобы преобразовать мой проект Android в Eclipse в макет, где 99,9% моего кода находится в проекте библиотеки, а затем у меня есть 2 других проекты оболочки в том же рабочем пространстве, которые в основном представляют собой файлы AndroidManifest.xml и несколько файлов ресурсов. Это было сделано, поэтому я могу поддерживать 2 сборки одного и того же проекта, с некоторыми незначительными изменениями текста и значков между 2. Имя приложения также отличается, поэтому я могу публиковать оба на Android Market в то же время.
С тех пор, как я это сделал, примерно каждые 10 раз компилируюсь, может быть, раз в день или два, я получаю "dalvik error 1" и что-то вроде "Access уже существует" (Access - это имя первой единицы Java в моей проект библиотеки).
Чтобы "обойти" проблему, я перехожу к пути Java Build для моего stub-проекта, который я пытаюсь создать, и удалите JAR файл из моей основной библиотеки со вкладки библиотек. Тогда я могу построить без ошибки.
Затем через некоторое время (может быть, 1 или 2 дня) я получу ошибку о пропущенных классах при компиляции моего stub-проекта (а не моей библиотеки). Поэтому я вернусь к пути Java Build и верну ссылку на JAR файл, и все будет хорошо снова в течение 1 или 2 дней, затем я вернусь к той же ошибке, что и раньше.
Это только известная проблема и что-то, что мне нужно сделать, или я могу решить путем реструктуризации моих проектов/рабочих пространств? В настоящее время у меня есть:
Lib Project - только 2 libs на пути сборки: Android 2.1 и com.android.ide.eclipse.adt.LIBRARIES
Первый проект-заглушка, который использует выше lib, имеет те же 2 библиотеки, что и выше, плюс иногда я использую "Добавить JAR", чтобы включить JAR из вышеупомянутой папки bin \.
Второй проект-заглушка - те же самые библиотеки, что и первый проект-заглушка
Должен ли я ссылаться на JAR из моего "проекта lib", используя одну из других вкладок в настройках пути сборки? Может быть, вкладка "Проект" или вкладка "Источник"? В настоящее время я не располагаю ничем из других областей.
Когда я попадаю в странное состояние, выполнение "чистого проекта" также не помогает, я несколько раз пробовал это и открывал/закрывал среду IDE между очисткой и отсутствием разрешения.
На этом этапе мы находимся на заключительных этапах тестирования, поэтому моя повседневная повседневная задача:
-
Сделайте небольшое обновление (исправление ошибок) в проекте LIB
-
Используйте мастер публикации для экспорта обоих проектов и обновления Android Market и других мест, где хранятся файлы APK.
Итак, я бы хотел, чтобы эти шаги оставались простыми, без необходимости открывать/закрывать несколько рабочих областей или, если это возможно, выполнять множество шагов сборки.