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

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

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

Solutions Collecting From Web of "Как изменить имя пакета приложения для Android"

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

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

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

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

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

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

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

Ссылка на сообщение

Обновите супер простой способ щелкнуть правой кнопкой мыши по вашему проекту … Введите описание изображения здесь

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

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

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

Еще одно очень полезное решение

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

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

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

 defaultConfig { applicationId "com.a.bc" minSdkVersion 13 targetSdkVersion 19 } 

Оригинальные сообщения и комментарии здесь

Без Eclipse:

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

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

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

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

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

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

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

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

Следуй этим шагам:-

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

СДЕЛАННЫЙ

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

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

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

Изменение имени пакета – это боль в заднице. Похоже, что разные методы работают для разных людей. Мое решение быстро и безошибочно. Похоже, не требуется очистка или сброс затмения.

  1. Щелкните правой кнопкой мыши на имени пакета, затем Refractor> Rename.
  2. Щелкните правой кнопкой мыши название проекта Android> Переименуйте Application Package.
  3. Вручную установите имена пакетов в манифесте, которые не были изменены предыдущими шагами.
  1. Кулак изменит имя пакета в файле манифеста
  2. Re-factor> Переименуйте имя пакета в папку src и поставьте галочку для rename subpackages
  3. Это все, что вы сделали.

У Бернштейна есть метод, используйте инструмент Eclipse, «Переименуйте Application Package», вам, возможно, придется немного очистить даже после факта. Кроме того, Eclipse иногда теряет смысл, когда вы вносите изменения в проект. Возможно, вам придется использовать инструмент «Чистый проект» (в меню «Проект».) Если это не сработает, возможно, вам придется закрыть и перезапустить Eclipse. Voo-doo, но Eclipse может быть таким.

Я нашел, что самым простым решением было использование Regexxer для замены «com.package.name» на «com.newpackage.name», а затем правильное переименование каталогов. Супер легкий, супер быстрый.

Существует также другое решение для пользователей без Eclipse, просто измените атрибут пакета в теге <manifest> в AndroidManifest.xml, заменив прежнее имя пакета, используемого новым. Примечание. Вы должны скорректировать все связанные операторы импорта и связанные с ними папки вручную в своем проекте, кроме того.

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="new.package.name" ..... </manifest> 

Альтернатива:

  1. Открыть AndroidManifest.xml
  2. Измените пакет = "NEW NAME" в теге манифеста.
  1. Щелкните правой кнопкой мыши по проекту> Инструменты Android> Переименуйте пакет приложений

  2. Перейдите в src и щелкните правой кнопкой мыши на основном пакете> Рефакторинг> Переименовать

  3. Перейдите в файл манифеста и измените имя своего пакета.

Я просто потерял несколько часов, пытаясь решить все проблемы. Я был уверен, проблема в моем коде – apk, но некоторые ошибки при работе с разными классами и действиями.

Только способ работы с моим проектом:

  1. Переименуйте его – файл / переименовать и отметьте все флажки
  2. Проверьте, не переименованы ли места, у меня было в одном из старого старого стиля все еще в инструментах: context = "..
  3. Создать новое рабочее пространство
  4. Импортировать проект в новое рабочее пространство

Для меня это работает, только решение.

В Android Studio 1.2.2 Скажите, хотите ли вы изменить com.example.myapp на org.mydomain.mynewapp Вы можете выполнить шаги в каждом из каталогов, как показано в приведенном ниже снимке экрана. Он предоставит вам возможность предварительного просмотра, чтобы вы могли предварительно просмотреть все изменения.

Перейдите в Refactor -> Rename и укажите свое новое имя. Вы должны сделать это для каждой из папок, например, для com, example и myapp. Он автоматически обновит импорт, чтобы вам не пришлось об этом беспокоиться. Введите описание изображения здесь

Также обновите файл build.gradle который не обновляется автоматически.

 defaultConfig { applicationId "org.mydomain.mynewapp" //update the new package name here minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" } 

После этого он попросит sync сделать это. Тогда все будет хорошо. После этого я могу загрузить APK в Google Store. Убедитесь, что вы подписали приложение, чтобы загрузить его в магазин.

Таким образом, использование IntelliJ с плагином Android (Studio) было: я пошел в AndroidManifest.xml сверху и изменил имя пакета, щелкнув правой кнопкой мыши -> Refactor -> rename. Наше имя пакета было четыре части abcd , новый – только abc . Поэтому я переименовал первые три. Затем я отправился в каталог сгенерированных источников ( app\build\generated\source\r\development\debug\a\b\c\d ), щелкнул правой кнопкой R класс и Refactor-> Move [d] до одного пакета выше. То же самое с BuildConfig в app\build\generated\source\buildConfig\development\debug\a\b\c\d .

Используя Refactor-> Move, IntelliJ обновляет все ссылки на BuildConfig и R

Наконец, я обновил все applicationId [s], которые я нашел в файле gradle.build, который я нашел. Я ударил проект Clean Project, Make and Rebuild. Удалите приложение с моего телефона и нажмите «Играть». Все сложилось так, что рефакторинг был простым и довольно быстрым.