Как часть приложения Android, которое я разрабатываю в затмении, я должен объединить два пакета из различных проектов в единственный проект. Я попытался копировать файлы в пакете второго проекта под src папкой первой папки и скопировал другие файлы, требуемые для второго пакета в res папку первого проекта.
Но автоматически сгенерированные файлы Java т.е. R.java не становится обновленным на копировании. Я пытался щелкнуть правой кнопкой по проекту и нажать на Android Tools-> Fix Project Properties. Но ничто не изменилось.
Я бы предпочел добавить второй исходный каталог через связанную папку.
(Тем более, что они теперь поддерживают относительный путь (3.5), как показано на следующей картинке (только 3.6)
alt text http://img411.imageshack.us/img411/1299/dynamicpathvariables.png)
Другое решение - просто добавить второй проект в "Project dependencies" первого.
alt text http://img24.imageshack.us/img24/9511/eclipsebuildpath.png
У вас не должно быть прибегать к импорту или созданию перекрестных ссылок на проекты.
Насколько мне известно, файл R.java создается из файлов XML в res.
В частности, он создается на основе идентификатора «id» в макетах и «имени» в файле strings.xml. (Возможно, это делают другие вещи, но это то, что я знаю).
Возможно, при копировании файлов ваши идентификаторы не отформатированы со знаком «+», который поощряет создание значений, если они еще не существуют.
Например, TextView в макете может содержать:
<TextView
android:id="@+id/author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
Плюс имеет решающее значение для создания новых значений.
Также может помочь внести базовое редактирование в XML-файл, сохранить его, затем отменить редактирование и снова сохранить. Сохранение может запустить плагин Eclipse для регенерации файла R.java.