Android как переименовать package

AwesomeDevelop

Лёгкая техносферная обстановка в душевой Google 8)

Как изменить имя пакета в Android Studio.

Иногда возникают ситуации, когда по окончанию работы над проектом обнаруживается, что имя пакета, заданного при создании проекта, следует изменить. Подобная ситуация может возникнуть, если в магазине приложений Google Play данное имя уже используется или же, к примеру, вы допустили ошибку при создании проекта и теперь не можете обновить свое приложение. Такая неприятность легко решается если вы использовали в качестве IDE старенький Eclipse,но вот с Android Studio дела обстоят немного хуже.

Попытка сделать рефакторинг имени пакета в студии приводит к тому, что корректно изменится лишь название проекта – com.name. appname . Это происходит потому, что Anndroid Studio объединяет средние имена пакета (по сути папки) в одно название и считает остальную часть принадлежащей конкретному разработчику или компании, а значит является их идентификатором. Но все же изменить средние имена пакета можно и без особых проблем. Первым способом является изменение название папок внутри проекта, но за этим последует рутинное изменение всех связей в проекте, к тому же и так тормозной Gradle начнёт капризничать пуще прежнего и привести его работу в порядок будет крайне сложно. Потому я рекомендую воспользоваться вторым, более простым и быстрым способом полного изменения имени пакета.
Для начала необходимо открепить объединение средних имен в пакете, для этого нужно выбрать параметры отображения структуры проекта, которая находится над самой текстурой и убрать галочку “Compact Empty Middle Packages”.

Когда имена будут откреплены, каждое из имён можно изменить отдельно. Меняем необходимые имена выбрав из контекстного меню Refactor – > Rename или нажав сочетание клавиш Shift+F6. При появлении предупреждения нажимаем кнопку Rename Package.

Источник

Как изменить имя пакета приложения для Android

Мое хранилище ключей повреждено, поэтому Android Market требует от меня переименовать приложение и повторно отправить его. Тем не менее, всякий раз, когда я перехожу к редактированию имен пакетов в манифесте и по всем файлам, это дает мне массу ошибок.

Каков правильный способ изменения имени приложения?

ОТВЕТЫ

Ответ 1

Если вы используете Eclipse, вы можете попробовать эти инструкции с сайта разработчика Android. Они специально предназначены для примера GestureBuilder, но должны быть применимы к любому приложению, насколько я могу судить:

[H] как вы могли бы сделать это в Eclipse:

  • Щелкните правой кнопкой мыши имя пакета ( src/com.android.gesture.builder ).
  • Выберите «Рефакторинг» > «Переименовать» и изменить имя, например, com.android.gestureNEW.builder .
  • Откройте файл манифеста. Внутри , измените имя пакета на com.android.gestureNEW.builder .
  • Откройте каждый из двух файлов Activity и сделайте Ctrl-Shift-O, чтобы добавить отсутствующие пакеты импорта, а затем сохраните каждый файл. Запустите приложение GestureBuilder на эмуляторе.

Кроме того, убедитесь, что вы запомнили переименование самого пакета вместе со ссылками на него в файлах. В Eclipse вы можете увидеть имя пакета в окне окна/дерева файла в левой части окна. По моему опыту, Eclipse иногда может быть немного фиктивным и ненадежным с этим (например, оставляя бездомные ссылки на старое имя пакета).

Ответ 2

В Eclipse можно легко изменить имя пакета. Щелкните правой кнопкой мыши на своем проекте, прокрутите вниз до Android-инструментов и нажмите «Переименовать пакет приложений».

Ответ 3

Здесь вы можете сделать это в Eclipse:

  • Щелкните правой кнопкой мыши имя пакета ( src/com.android.gesture.builder ).
  • Выберите Refactor > Rename и измените имя, например, на com.android.gestureNEW.builder .
  • Откройте файл манифеста. Внутри тега измените имя пакета на com.android.gestureNEW.builder .
  • Откройте каждый из двух файлов Activity и сделайте Ctrl + Shift + O , чтобы добавить отсутствующие пакеты импорта, а затем сохраните каждый файл.
  • Запустите приложение GestureBuilder на эмуляторе.

Обновление супер легкий способ щелкните правой кнопкой мыши по вашему проекту.

Ответ 4

В Android Studio, который, честно говоря, вы должны использовать, измените имя пакета на right-clicking на имя пакета в project structure -> Refactor -> Rename.

Затем он дает возможность переименования каталога или пакета. Выберите пакет. Справочник должен следовать примеру. Введите новое имя пакета и нажмите «Refactor». Он изменит весь импорт и удалит избыточный импорт для вас. Вы даже можете исправить это для вас в комментариях и строках и т.д.

Наконец,, измените имя пакета в AndroidManifest.xml по направлению вверх. В противном случае вы получите ошибки повсюду, жалуясь на R.whatever.

Другое очень полезное решение

Сначала создайте новый пакет с нужным именем by right clicking on the java folder → new → package.`

Затем выберите и перетащите все ваши классы в новый пакет. AndroidStudio будет переопределять имя пакета везде.

После этого: в приложении build.gradle добавьте/отредактируйте applicationId с новым. т.е. ( com.a.bc в моем случае):

Оригинальная публикация и комментарии здесь

Ответ 5

Измените имя пакета и названия активности в AndroidManifext.xml и в любом другом месте в XML файлах (пользовательские имена и т.д.)

Обновить оператор импорта пакета во всех исходных файлах

Переименуйте все папки в соответствии с именем пакета. Расположение папок:
а. bin/классы
б. ген
с. ЦСИ

Обновите имя проекта в файле build.xml(или ваше имя apk не изменится)

Удалите все файлы .class в bin/classes/com/example/myapp/(если вы пропустите этот шаг, файлы не будут перезаписаны во время сборки, а dex даст кучу проблем с обработкой «имя класса» не соответствуют пути «

Удалить gen/com/example/myapp/BuildConfig.java(я не знаю, почему удаление BuildConfig.class на шаге 3a не вызывало dex для обновления пути к этому, но до тех пор, пока я не удалю BuildConfig. java он продолжал воссоздавать gen/com/oldapp_example/oldapp и помещать там BuildConfig.class. Я не знаю, почему у R.java из того же места нет этой проблемы. Я подозреваю, что BuildConfig.java автоматически сгенерирован в pre -compile, но R.java нет)

Вышеуказанные 6 шагов — это то, что я сделал, чтобы изменить имя моего пакета и получить успешную * сборку. Может быть лучший способ обработать шаги 5 и 6 через команды dex для обновления путей или, возможно, путем редактирования classes.dex.d в корневой директории проекта. Я не знаком с dex или если это нормально для удаления/редактирования classes.dex.d, поэтому я пошел с методом удаления файлов .class, которые, как я знаю, будут восстановлены в сборке. Затем я проверил classes.dex.d, чтобы узнать, что еще нужно обновить.

* В моей сборке нет ошибок или предупреждений. EXCEPT dex и apkbuilder устанавливают состояние «Найденный удаленный целевой файл» без каких-либо особенностей того, что этот файл. Не уверен, что это отображается в каждой сборке, если она была там до того, как я испортился с моим именем пакета, или если это результат моих удалений, и мне не хватает шага.

Ответ 6

Выполните следующие действия: —

  • Щелкните правой кнопкой мыши проект.
  • Перейдите в Android-инструменты.
  • Нажмите «Переименовать пакет приложений».
  • Измените имя пакета приложения.

DONE

Ответ 7

Самый быстрый способ сделать это в Android Studio 1.3:

  • Измените имя пакета в manifest
  • Перейдите в Module Settings[F4]-> Flavors , в Application Id введите одно и то же имя.
  • Создайте новый пакет с таким именем: [right-click-> new-> package]
  • Выберите все java файлы вашего проекта, а затем продолжите [Right-click-> Refactor-> Move->