2012-02-10 3 views
1

У меня есть два независимо разработанных Android-проекта (с собственными действиями и т. Д.), Проверенные и работающие независимо.Эффективный способ интеграции проекта в качестве пакета?

Предполагается, что один проект будет запускать (через Intent) второй проект.

Я мог бы сохранить его таким образом, но при распространении его через Android Market потребуется 2 APK, 2 значка и т. Д., Что может быть очень запутанным для конечного пользователя.

Поэтому я хотел бы объединить второй проект в первый, сохраняя его как отдельный пакет .

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

Есть ли встроенный ярлык в Eclipse (или ADT) для этого, аналогичный File > Import > Existing Projects into Workspace?

ответ

3

Я думаю, вы можете сделать свой второй проект как Library Project, щелкнув его правой кнопкой мыши, а на вкладке Android отметьте isLibrary. И затем в вашем первом проекте вы связываете тот, который вы создали в библиотеке, щелкнув правой кнопкой мыши и под вкладкой Android «Библиотеки» нажмите «Добавить» и укажите на ваш номер Library Project. Вы также можете посмотреть Managing Projects from Eclipse.

Если это не сработает (но я действительно должен), вы можете просто щелкнуть правой кнопкой мыши по своим пакетам, затем выбрать Copy и перейти к первому проекту и просто щелкнуть правой кнопкой мыши ->Paste. Это также сработало для меня.

+0

Thanks +1. Создание второго проекта проекта библиотеки (как вам было предложено) компилируется и строит, но не выполняется во время выполнения с помощью функции ActivityNotFoundException (никакой активности не найдено для обработки Intent). Этого не происходит, если я поддерживаю два проекта двумя независимыми приложениями. Любая идея почему? –

+0

Чтобы прояснить, единственная разница между тем, когда он работает, и он не работает, это проверка 'isLibrary' и добавление его в качестве библиотеки вызывающему проекту. То есть никаких изменений в коде или любом из файлов XML не происходит. Что еще мне нужно изменить, чтобы эта миграция работала? –

+0

У меня возникла идея: если 'startActivity' с новым' Intent (Context, class) 'применим только в том случае, если действие находится в одном приложении, то, возможно, и наоборот? т. е. «Intent (« com.test.application »)» применим только в том случае, если активность НЕ входит в одно и то же приложение? –