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)