- Как изменить имя пакета приложения для Android
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Ответ 9
- Ответ 10
- Ответ 11
- Ответ 12
- Ответ 13
- Ответ 14
- Ответ 15
- Ответ 16
- Ответ 17
- AwesomeDevelop
- Как изменить имя пакета в Android Studio.
- Можно ли изменить название пакета приложения Android в Google Play?
Как изменить имя пакета приложения для 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->
P.S. Если вы не будете следовать этому заказу, вы можете в конечном итоге изменить все java файлы один за другим с новыми импортерами и кучей ошибок времени компиляции, поэтому порядок очень важен.
Ответ 8
Изменение названия пакета — боль в заднице. Похоже, что разные методы работают для разных людей. Мое решение быстро и безошибочно. Похоже, что не требуется очистка или сброс затмения.
- Щелкните правой кнопкой мыши имя пакета, затем Refractor > Rename.
- Щелкните правой кнопкой мыши название проекта Android. > Переименуйте пакет приложений.
- Вручную установите имена пакетов в манифесте, которые не были изменены предыдущими шагами.
Ответ 9
- Fist изменить имя пакета в файле манифеста
- Re-factor > Переименуйте имя пакета в папку src и поставьте галочку для rename subpackages
- Это все, что вы сделали.
Ответ 10
У Бернштейна есть метод, используйте инструмент Eclipse, «Переименуйте пакет приложений», вам, возможно, придется выполнить некоторую очистку даже после факта. Кроме того, Eclipse иногда теряет смысл, когда вы вносите изменения в проект. Возможно, вам придется использовать инструмент «Чистый проект» (в меню «Проект».) Если это не сработает, возможно, вам придется закрыть и перезапустить Eclipse. Voo-doo, но Eclipse может быть таким.
Ответ 11
Я нашел самое легкое решение: Regexxer заменить «com.package.name» на «com.newpackage.name», а затем правильно переименуйте каталоги. Супер легкий, супер быстрый.
Ответ 12
Существует также другое решение для пользователей без Eclipse, просто измените атрибут package в в AndroidManifest.xml, заменив прежнее имя пакета, используемое новым. Примечание.. Вы также должны вручную настроить все связанные операторы импорта и связанные с ними папки в своем проекте.
Ответ 13
- Открыть AndroidManifest.xml
- Изменить пакет = «NEW NAME» в теге манифеста.
Ответ 14
Щелкните правой кнопкой мыши по проекту > Инструменты Android > Переименуйте пакет приложений
Перейдите в src и щелкните правой кнопкой мыши на основном пакете > Рефакторинг > Переименовать
Перейдите в файл манифеста и измените имя своего пакета.
Ответ 15
Я просто потерял несколько часов, пытаясь найти все решения. Я был уверен, проблема в моем коде — запуск apk, но некоторые ошибки при работе с разными классами и действиями.
Только способ работы с моим проектом:
- переименуйте его — файл/переименовать и отметьте все флажки
- проверьте, не переименованные места, у меня было в одном из старых старое имя все еще в инструментах: context = «..
- создать новое рабочее пространство
- импортировать проект в новое рабочее пространство
Для меня это работает, только решение.
Ответ 16
В Android Studio 1.2.2 Скажем, если вы хотите изменить com.example.myapp на org.mydomain.mynewapp Вы можете выполнить шаги в каждом из каталогов, как показано на следующем снимке экрана. Он предоставит вам возможность предварительного просмотра, чтобы вы могли предварительно просмотреть все изменения.
Перейдите к Refactor -> Rename и укажите свое новое имя. Вы должны сделать это для каждой из папок, например, для com, example и myapp. Он автоматически обновит импорт, чтобы вам не пришлось беспокоиться об этом.
Также обновите файл build.gradle , который не обновляется автоматически.
После этого он попросит sync сделать это. Тогда все будет хорошо. После этого я могу загрузить APK в Google Store. Убедитесь, что вы подписали приложение, чтобы загрузить его в магазин.
Ответ 17
Итак, использование IntelliJ с плагином Android (Studio) было следующим: я пошел в AndroidManifest.xml сверху и изменил имя пакета, щелкнув правой кнопкой мыши → Refactor → rename. У нашего имени пакета было четыре части a.b.c.d , а новая — только a.b.c . Поэтому я переименовал первые три. Затем я отправился в каталог сгенерированных источников ( 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 .
Источник
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 в Google Play?
Я хотел бы знать, насколько технически возможно, а не легко или нет, изменить фактическое имя пакета приложения Android, которое находится в игре Google. То, что я имею в виду под именем пакета, – это имя, которое будет отображаться в URL-адресе. Пожалуйста, может кто-нибудь сказать мне, почему это / невозможно? Благодаря!
От Дианы Хакборн:
Вещи, которые не могут измениться:
Наиболее очевидным и очевидным из них является «имя пакета манифеста», уникальное имя, которое вы даете вашему приложению в своем AndroidManifest.xml. В названии используется соглашение об именах в стиле Java-стиля, а владение доменом в Интернете помогает избежать конфликтов имен. Например, поскольку Google владеет доменом «google.com», имена пакетов манифеста всех наших приложений должны начинаться с «com.google». Для разработчиков важно следовать этому соглашению, чтобы избежать конфликтов с другими разработчиками.
После публикации вашего приложения под его именем пакета манифеста это уникальный идентификатор приложения навсегда. Переключение на другое имя приводит к совершенно новому приложению, которое невозможно установить как обновление существующего приложения.
Больше о вещах, которые вы не можете изменить здесь
Что касается вашего вопроса о URL-адресе из Google Play, пакет, определенный там, связан с полным пакетом приложения, который у вас есть в вашем файле AndroidManifest.xml . Подробнее о форматах ссылок Google Play здесь .
Нет, вы не можете просто изменить его, вам нужно будет загрузить новый пакет в качестве нового приложения. Взгляните на приложение Google Talk , его имя было изменено на Hangouts , но имя пакета по-прежнему остается com.google.android.talk . Потому что это не выполнимо 🙂 Привет.
Насколько я могу судить, что вы можете сделать, это «удалить» свое предыдущее приложение и перенаправить всех пользователей в новое приложение. Эта процедура не поддерживается Google (tsk … tsk …), но она может быть реализована в четыре этапа:
Измените текущее приложение, чтобы показать сообщение пользователям об обновлении и перенаправить их в список новых приложений. Вероятно, полноэкранное сообщение будет делать с дружественным текстом. Это сообщение может быть инициировано дистанционно в идеале, но также может использоваться дата отсечения. (Но тогда это будет тяжелым сроком для вас, так что будьте осторожны …;))
Отпустите измененное старое приложение в качестве обновления, возможно, с некоторыми исправлениями / исправлениями функций, чтобы «подсластить сделку» пользователям. Тем не менее, нет никакой гарантии, что все пользователи будут обновляться, но, вероятно, большинство это сделает.
Подготовьте новое приложение с обновленным именем пакета и загрузите его в хранилище, затем вызовите сообщение в старом приложении (или просто подождите, пока оно не истечет, если это было вашим выбором).
Отмените публикацию старого приложения в Play Маркете, чтобы избежать новых установок. Неопубликование приложения не означает, что пользователи, которые уже установили его, больше не будут иметь к нему доступа, но, по крайней мере, потенциальные новые пользователи не найдут его на рынке.
Не идеально и может раздражать пользователей, иногда даже невозможно реализовать из-за статуса / возможностей приложения. Но поскольку Google не оставил нам выбора, это единственный способ перенести пользователей старых приложений на «новый» (даже если он не совсем новый). Не говоря уже о том, что если у вас нет доступа к источникам и деталям подписи кода для старого приложения, то все, что вы можете сделать, это надеяться, что пользователи заметят новое приложение …
Если бы кто-нибудь понял лучший способ всеми способами: пожалуйста, скажите.
Нет, вы не можете изменить имя пакета, если не будете готовы опубликовать его в качестве нового приложения в Play Маркете:
После публикации вашего приложения под его именем пакета манифеста это уникальный идентификатор приложения навсегда. Переключение на другое имя приводит к совершенно новому приложению, которое невозможно установить как обновление существующего приложения. Руководство Android также подтверждает это здесь:
Внимание: после публикации приложения вы не можете изменить имя пакета. Имя пакета определяет личность вашего приложения, поэтому, если вы его измените, оно считается другим приложением, и пользователи предыдущей версии не могут обновиться до новой версии. Если вы согласны с публикацией новой версии вашего приложения как совершенно новой сущности, вы можете это сделать, конечно, просто удалите старое приложение из Play Store (если хотите) и опубликуйте новое с другим именем пакета.
Если вы имеете в виду com.example.app, я не понимаю, что вы не можете считать его новым приложением
Никогда, вы не можете сделать это, поскольку имя пакета является уникальным именем Identifier для вашего приложения …..
Источник