Android поменять название пакета

Как изменить имя пакета приложения для 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 нет)

Читайте также:  Nextcloud синхронизация контактов android

Вышеуказанные 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->