Можно ли изменить название пакета приложения для Android в Google Play?

119

Я хотел бы знать, возможно ли это технически, а не просто или нет, изменить фактическое имя пакета приложения для Android, которое находится в Google Play. Под именем пакета я подразумеваю имя, которое будет отображаться в URL-адресе. Пожалуйста, кто-нибудь может сказать мне, почему это / невозможно? Спасибо!

user2426316
источник
имя, которое будет отображаться в URL ... что это ?? приведу пример
stinepike

Ответы:

126

От Дайанн Хакборн:

Вещи, которые не могут измениться:

Наиболее очевидным и заметным из них является «имя пакета манифеста», уникальное имя, которое вы даете своему приложению в его AndroidManifest.xml. В названии используется соглашение об именах в стиле языка Java, при этом владение доменом в Интернете помогает избежать конфликтов имен. Например, поскольку Google владеет доменом google.com, имена пакетов манифеста всех наших приложений должны начинаться с com.google. Разработчикам важно следовать этому соглашению, чтобы избежать конфликтов с другими разработчиками.

Как только вы опубликуете свое приложение под его именем пакета манифеста, это навсегда станет уникальным идентификатором приложения. При переключении на другое имя создается совершенно новое приложение, которое нельзя установить в качестве обновления существующего приложения.

Подробнее о вещах, которые нельзя изменить здесь

Что касается вашего вопроса об URL-адресе из Google Play, определенный там пакет связан с полным пакетом приложения, который есть в вашем файле AndroidManifest.xml . Подробнее о форматах ссылок Google Play здесь .

Войку
источник
7
Стоит упомянуть, поскольку я искал это - вы можете изменить имя пакета фактического пакета в java , и практически везде, кроме манифеста. один в манифесте более или менее независим от другого.
lahwran
3
@lahwran У меня возникли проблемы с правильной сборкой Android Studio, когда они не совпадали - проблемы исчезли, когда они появились.
elBradford 09
Интересно, изменилось ли это. Не удивлюсь, если однажды это сработало, чтобы сделать их разными, но никогда не поддерживалось.
lahwran
1
@Voicu, можно ли изменить имя пакета, если мы загрузили первую сборку в бета-режиме и не хотим менять пакет в режиме выпуска
Теджас Пандия
Итак, что произойдет, если у меня будет платная версия вместе с бесплатной версией с тем же именем пакета? оба в
игровом
71

Нет, вы не можете просто изменить его, вам придется загрузить новый пакет как новое приложение. Взгляните на приложение Google Talk, его имя было изменено на Hangouts, но имя пакета осталось com.google.android.talk. Потому что это невозможно :) Ура.

LuckyMe
источник
4
можно подумать, что Google сам осознал бы проблему с этим
kkarakk
Можно ли изменить одну букву с заглавной на строчную в имени пакета приложения andorid, существующего в магазине воспроизведения?
Nilesh Panchal 06
23

Насколько я могу судить, вы могли бы «удалить» свое предыдущее приложение и перенаправить всех пользователей в новое приложение. Эта процедура не поддерживается Google (tsk ... tsk ...), но ее можно реализовать в четыре этапа:

  1. Измените текущее приложение, чтобы показать пользователям сообщение об обновлении и перенаправить их на новый список приложений. Вероятно, полноэкранное сообщение будет иметь какой-нибудь дружественный текст. В идеале это сообщение могло бы запускаться удаленно, но можно также использовать дату отключения. (Но тогда это будет тяжелый срок для вас, так что будьте осторожны ...;))

  2. Выпустите измененное старое приложение в качестве обновления, возможно, с некоторыми обновлениями функций / исправлениями ошибок, чтобы «сделать сделку лучше» для пользователей. Тем не менее нет гарантии, что все пользователи обновятся, но, вероятно, большинство подойдет.

  3. Подготовьте новое приложение с обновленным именем пакета и загрузите его в магазин, а затем активируйте сообщение в старом приложении (или просто дождитесь истечения срока его действия, если это был ваш выбор).

  4. Отмените публикацию старого приложения в Play Маркете, чтобы избежать новых установок. Отмена публикации приложения не означает, что пользователи, которые уже установили его, больше не будут иметь к нему доступа, но, по крайней мере, потенциальные новые пользователи не найдут его на рынке.

Не идеально и может раздражать пользователей, иногда даже невозможно реализовать из-за статуса / возможностей приложения. Но поскольку Google не оставил нам выбора, это единственный способ перевести пользователей старых приложений на «новое» (даже если оно не совсем новое). Не говоря уже о том, что если у вас нет доступа к источникам и деталям подписи кода для старого приложения, все, что вы можете сделать, это надеяться, что пользователи заметят новое приложение ...

Если кто-нибудь придумал лучший способ во что бы то ни стало: скажите, пожалуйста.

раки
источник
5
Хотя это лучшее, что можно сделать для установки нового приложения, следует помнить, что старое приложение по-прежнему будет находиться на устройстве - поскольку это не совсем обновление, а новая установка (если пользователь вручную не удалит предыдущее). Таким образом, у вас будет старое приложение, а также новое приложение на устройстве и, вероятно, с одинаковыми значками запуска - что сбивает пользователя с толку - старое против нового.
Джаспер
1
Вы правы, к сожалению, удалить старое приложение в процессе установки нового приложения невозможно. Однако можно было бы обнаружить наличие старого приложения и предупредить пользователя об его удалении. Это можно сделать либо при запуске нового приложения, либо в обработчике событий после установки ( developer.android.com/reference/android/content/… ).
racs
1
Кроме того, старое приложение может обнаружить присутствие нового и просто показать тост или около того, затем запустить новый и выйти.
Moritz Both
6

Нет, вы не можете изменить имя пакета, если вы не согласны опубликовать его как новое приложение в Play Store:

Как только вы опубликуете свое приложение под его именем пакета манифеста, это навсегда станет уникальным идентификатором приложения. При переключении на другое имя создается совершенно новое приложение, которое нельзя установить в качестве обновления существующего приложения. Руководство Android также подтверждает это здесь:

Внимание! После публикации приложения вы не можете изменить имя пакета. Имя пакета определяет идентичность вашего приложения, поэтому, если вы его измените, оно будет считаться другим приложением, и пользователи предыдущей версии не смогут выполнить обновление до новой версии. Если вы согласны с публикацией новой версии вашего приложения как совершенно нового объекта, вы, конечно, можете это сделать - просто удалите старое приложение из Play Store (если хотите) и опубликуйте новое с другим именем пакета.

Рахул Сетхи
источник
2

Если вы имеете в виду com.example.app, я понимаю, что вы не можете, это будет считаться новым приложением.

aehs29
источник
2

Никогда, вы не можете этого сделать, поскольку имя пакета является уникальным идентификатором имени для вашего приложения ...

Shubhamhackz
источник
1

Полное руководство: https://developer.android.com/studio/build/application-id.html

Согласно официальным блогам Android: https://android-developers.googleblog.com/2011/06/things-that-cannot-change.html

Можно сказать, что:

  • Если имя пакета манифеста изменилось, новое приложение будет установлено вместе со старым приложением, так что они оба сосуществуют на устройстве пользователя одновременно.

  • Если сертификат подписи изменится, попытка установить новое приложение на устройство не удастся, пока не будет удалена старая версия.

Согласно контрольному списку обновлений приложений Google: https://support.google.com/googleplay/android-developer/answer/113476?hl=en

Обновите свои приложения

Подготовьте свой APK

Когда вы будете готовы внести изменения в свой APK, обязательно обновите код версии вашего приложения, чтобы существующие пользователи получили ваше обновление.

Используйте следующий контрольный список, чтобы убедиться, что ваш новый APK готов к обновлению существующих пользователей:

  • Название пакета обновленного APK должно быть таким же, как у текущей версии.
  • Код версии должен быть больше, чем текущая версия. Узнайте больше о версиях ваших приложений.
  • Обновленный APK должен быть подписан той же подписью, что и текущая версия.

Чтобы убедиться, что ваш APK использует ту же сертификацию, что и предыдущая версия, вы можете запустить следующую команду для обоих APK и сравнить результаты:

$ jarsigner -verify -verbose -certs my_application.apk

Если результаты идентичны, вы используете тот же ключ и готовы продолжить. Если результаты отличаются, вам нужно будет повторно подписать APK с правильным ключом.

Узнайте больше о подписании ваших приложений

Загрузите свой APK Как только ваш APK будет готов, вы можете создать новую версию.

Винаяк
источник