Android - копирование существующего проекта с новым именем

Использование Eclipse. Скажем, у меня есть проект ProjectA в пространстве затмений (в папке ProjectA). Я хочу скопировать проект, но с новым именем (ProjectB) и отредактировать все ссылки в новом проекте. Я не могу найти много помощи, поскольку я думал, что это будет основная операция. Я хочу попробовать варианты оригинального дизайна/кода, и создание копии казалось очевидным способом сделать это.

Любые предложения, пожалуйста.

Ответ 1

Мне нужно это и сегодня, и я получил ответ от своего коллеги.

  • вы просто копируете свой проект в новый (ctrl + c и ctrl + v).

  • вы меняете имя пакета в своем манифесте

  • После этого вы должны переименовать свой основной пакет с помощью рефакторинга. Не забудьте выбрать.

  • Просто измените имя своего приложения в манифесте

    application android: icon = "@drawable/icon" android: label = " новое имя"

Надеюсь, что я ничего не забыл, и это поможет вам

Ответ 2

Я просто хочу добавить элемент в список Mur Votema:

5) Не забудьте открыть проект, который вы хотите скопировать!

Мне просто стоило несколько минут, чтобы узнать, что он не работает с закрытыми проектами.: -)

Ответ 3

Если вы используете Eclipse, и все, что вы хотите сделать, это клонировать ваш проект Android и дать ему новое название проекта, просто выполните копию/вставку (Ctrl-C и Ctrl-V - шаг 1 в ответ Mur), Eclipse попросит вас ввести новое название проекта, когда вы вставьте его, и все готово. Имя и каталог проекта Eclipse не зависят от имени и пакета приложения.

Ответ 4

Обязательные задачи:

  • В Eclipse скопируйте и вставьте проект. (Дайте проекту новое имя)
  • В манифесте обновите имя пакета и сохраните его. (Обновление запуска Конфигурация)
  • Рефакторинг и переименуйте имя пакета. (Обновить ссылки)

Дополнительные задачи:

  • В манифесте измените ярлык приложения и значок, поэтому после установка приложения на ваше устройство не будет путать с первый.
  • Рефакторинг и переименуйте имя java файлов, поэтому они не будут смущены с исходными файлами проекта.
  • Если вы использовали Encodings, такие как UTF-8 в своем проекте (в порядке для обработки языков, отличных от английского), вам может потребоваться изменить и сохраните эти файлы, чтобы их шрифт отображался правильно.

Примечание.. Если вы выполняете третью задачу перед второй задачей, некоторые нежелательные импорты будут добавлены в ваши классы java. Затем вам нужно будет удалить этот импорт.

Ответ 5

Теперь есть автоматический инструмент для этого, часть ADT.

  • Убедитесь, что проект происхождения открыт в Eclipse, скопируйте и вставьте в новое имя
  • Щелкните правой кнопкой мыши новый проект > Инструменты Android > Переименуйте пакет приложений

Готово

Ответ 6

Как сказано выше, все, что вам нужно сделать, это скопировать + вставить проект и переименовать его [ "myApp.11" ], но иногда эта функция получает прослушивание в eclipse. Один такой случай случается, когда у вас более одной версии jdk. для решения этого закрытого затмения переименуйте более старые версии jdk с подчеркиванием, например. _jdk17.2 и повторить попытку. если вам не нужны эти версии, удалите их.

Ответ 7

Я просто хотел добавить это после борьбы с кодом, который у меня есть:

НЕ ИСПОЛЬЗУЙТЕ НАИМЕНОВАНИЕ ПАКЕТЫ В ЭКСПЛУАТАЦИЮ В ВАШЕМ КОДЕ JAVA НИКАКОГО МАТЕРИАЛА. ВАМ НЕОБХОДИМО ИЗМЕНИТЬ ВАШ ПРОЕКТ. ПРИМЕРЫ: getResource() и установка источника растрового изображения и таких-то

похоже, что у меня были плохие ссылки на имя пакета. это имя использовалось явно как String (например, "com.pakge.mypkg" ) вместо Context.getPackageName().

попытайтесь достичь этого метода, так или иначе, вы можете так просто, как только я упомянул, что он может не сработать для вас... попытайтесь найти имя метода getPackageName() из разных других объектов.

Ответ 8

Еще одна вещь, которую я заметил, заключается в том, что если вы оставите android:label="@string/app_name", она каким-то образом сохранит исходное имя приложения, когда вы просмотрите скопированное приложение в списке приложений в Settings > Applications > Manage applications, но если вы измените его на android:label="Your App Name", похоже, он работает ок.

Также не забудьте правильно изменить значки, удалив старые и импортируя новые.

Ответ 9

Я пошел в папку рабочей области на C:/(путь для всех), скопировал папку проекта (Project A) и вставил ее с новым именем (Project B). Измените имя в проводнике. Затем через Eclipse был создан новый проект Android с новым именем (Project B). Разный способ сделать это.

Ответ 10

Я должен отвечать не комментарием, так как репутация недостаточно высока - сказать, что я согласен. @jengelsma имеет лучший ответ, просто скопируйте и вставьте, но следите за (скрытыми) SVN файлами (в папках .svn)! Если вы не хотите, чтобы те же ссылки, что и в другом проекте, вам не нужны.

Командa > отключите и проверьте "также удалять метаданные SVN" на вашей новой копии, чтобы сделать это.

Ответ 11

Просто хочу добавить еще несколько пунктов:  Убедитесь, что имя пакета должно отличаться для нового проекта и старого проекта, если оба проекта будут установлены на одном компьютере.

также изменить то же самое в Mainfest.xml под

Ответ 12

Я использовал затмение Luna, я попытался скопировать существующий проект (Project_A), как показано ниже

  • Создайте новый Java-проект (его название - Project_B)
  • Щелкните правой кнопкой мыши Project_B (чтобы открыть контекстное меню)
  • Выберите пункт меню "Импорт..." (чтобы отобразить диалоговое окно "Импорт" )
  • В списке в поле "Выберите источник импорта", чтобы расширить элемент "Общие"
  • Дважды щелкните по подпункту "Файловая система" (чтобы отобразить страницу "Файловая система" ).
  • Введите путь к директории "Project_A" в поле "Из каталога" (или нажмите кнопку "Обзор..." ), чтобы найти и выбрать каталог "Project_A" )
  • Установите флажок в поле "Project_A" в поле "From directory"
  • Чтобы узнать, отображается ли в поле "Into folder" имя папки "Project_B" (если нет, нажмите кнопку "Обзор...", чтобы найти и выбрать "Project_B" ).
  • Нажмите кнопку "Готово" (потому что Project_B пуст, вам больше не нужно заботиться)
  • Все содержимое Project_A копируется в Project_B, мы можем запускать Project_B как Project_A (при необходимости мы можем реорганизовать Project_B)