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


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

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

12 66

12 ответов:

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

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

  2. изменить имя пакета в манифесте

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

  4. просто измените имя приложения в манифесте

    приложение для android: icon= " @drawable / icon" android: label="новое имя"

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

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

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

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

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

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

  1. в Eclipse скопируйте и вставьте проект. (Дайте проекту новое имя)
  2. в Манифесте обновите имя пакета и сохраните его. (Запуск Обновления Конфигурация)
  3. рефакторинг и переименование имени пакета. (Обновить ссылки)

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

  1. в Манифесте измените метку и значок приложения, поэтому после
    установка приложения на вашем компьютере устройство это не будет путать с первый из них.
  2. рефакторинг и переименование имени java-файлов, чтобы они не путались с исходными файлами проекта.
  3. если вы использовали кодировки, такие как UTF-8 в вашем проекте (в порядке для обработки языков, отличных от английского) вам может потребоваться изменить и сохраните эти файлы, чтобы их шрифт отображался правильно.

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

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

  1. убедитесь, что исходный проект открыт в Eclipse, скопируйте и вставьте новое имя
  2. щелкните правой кнопкой мыши на новый проект > Android Tools > переименовать пакет приложений

сделал

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

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

НЕ ИСПОЛЬЗУЙТЕ ИМЯ ПАКЕТА ЯВНО В КОДЕ JAVA, НЕСМОТРЯ НИ НА ЧТО. ВОЗМОЖНО, ВАМ ПРИДЕТСЯ ПЕРЕИМЕНОВАТЬ СВОЙ ПРОЕКТ . Примеры: getResource () и установка растрового источника и такого-то

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

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

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

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

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

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

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

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

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

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

  1. создайте новый проект Java (его имя-Project_B)
  2. щелкните правой кнопкой мыши на Project_B (чтобы открыть контекстное меню)
  3. выберите пункт меню "импорт..."(показать в диалоге импорта)
  4. в списке под полем " выберите источник импорта "для расширения элемента"общие"
  5. дважды щелкните на подпункте "файловая система" (чтобы показать " файл Страница "система")
  6. введите путь к каталогу "Project_A" в поле "From directory" (или нажмите кнопку " Обзор... кнопка для поиска и выбора каталога "Project_A")
  7. установите флажок каталога " Project_A "в поле" From directory"
  8. чтобы увидеть, если поле" в папку "показывает имя папки как" Project_B "(если нет, нажмите кнопку " Обзор... кнопка для поиска и выбора "Project_B")
  9. Нажмите кнопку "Готово" (потому что Project_B пуст, больше не нужно заботиться)
  10. все содержимое Project_A копируется в Project_B, мы можем запустить Project_B как Project_A (при необходимости мы можем рефакторинг Project_B)