Объединение пакетов из разных проектов в один проект в Eclipse - PullRequest
5 голосов
/ 20 мая 2010

Как часть приложения Android, которое я разрабатываю в Eclipse, мне нужно объединить два пакета из разных проектов в один проект. Я попытался скопировать файлы в пакете второго проекта в папку src первой папки и скопировал другие файлы, необходимые для второго пакета, в папку res первого проекта.

Но автоматически сгенерированные файлы Java, т.е. R.java, не обновляются при копировании. Я попытался щелкнуть правой кнопкой мыши на проекте и выбрать Инструменты Android -> Исправить свойства проекта. Но ничего не изменилось.

Ответы [ 3 ]

4 голосов
/ 20 мая 2010

Я бы лучше добавил второй исходный каталог через связанную папку .
(Тем более что они теперь поддерживают относительный путь (3.5), как показано на следующем рисунке (только 3.6)

альтернативный текст http://img411.imageshack.us/img411/1299/dynamicpathvariables.png)


Другое решение - просто добавить второй проект в «Зависимости проекта» первого.

альтернативный текст http://img24.imageshack.us/img24/9511/eclipsebuildpath.png

1 голос
/ 01 января 2012

Я столкнулся с трудностями при использовании метода VonC, вырабатывающего принудительное закрытие noclassdeffounderror во время выполнения, поскольку ссылка на внешний проект не делает класс доступным во время выполнения. Возможно, я не делал это правильно, но я нашел другое решение для обмена:

Поместите оба проекта, которые вам нужно объединить, в одно рабочее пространство и откройте оба. Установите один проект в качестве библиотеки и укажите ссылку на библиотеку в другом «основном» проекте, как показано в: http://developer.android.com/guide/developing/projects/projects-eclipse.html

Не забудьте объявить любые приложения, которые вы используете, из проекта библиотеки в манифесте основного проекта.

0 голосов
/ 20 мая 2010

Вам не нужно прибегать к импорту или перекрестным ссылкам на проекты.

Насколько мне известно, файл R.java генерируется из файлов XML в рез.

В частности, он создается на основе «id» в макетах и ​​«name» в файле strings.xml. (Есть, вероятно, другие вещи, которые делают это, но это то, что я знаю).

Возможно, при копировании ваших файлов ваши идентификаторы не отформатированы с помощью "+", что стимулирует создание значений, если они еще не существуют.

Например, TextView в макете будет содержать:

<TextView
   android:id="@+id/author"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
/>

Плюс, который имеет решающее значение для нового создания ценностей.

Может также помочь поместить основное редактирование в XML-файл, сохранить его, затем отменить редактирование и сохранить снова. Сохранение может запустить плагин Eclipse для регенерации файла R.java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...