Czy można zmienić nazwę pakietu aplikacji na Androida w Google Play?

119

Chciałbym wiedzieć, czy jest technicznie możliwe, a nie czy jest to łatwe, czy nie, aby zmienić rzeczywistą nazwę pakietu aplikacji na Androida, która jest w Google Play. Przez nazwę pakietu mam na myśli nazwę, która pojawi się w adresie URL. Czy ktoś może mi powiedzieć, dlaczego to jest / nie jest możliwe? Dzięki!

user2426316
źródło
nazwa, która pojawi się w adresie URL ... co to jest? daj przykład
stinepike

Odpowiedzi:

126

Od Dianne Hackborn:

Rzeczy, których nie można zmienić:

Najbardziej oczywistym i widocznym z nich jest „nazwa pakietu manifestu”, unikalna nazwa nadana aplikacji w pliku AndroidManifest.xml. W nazwie zastosowano konwencję nazewnictwa w stylu języka Java, a własność domeny internetowej pomaga uniknąć kolizji nazw. Na przykład, ponieważ Google jest właścicielem domeny „google.com”, nazwy pakietów manifestu wszystkich naszych aplikacji powinny zaczynać się od „com.google”. Ważne jest, aby programiści przestrzegali tej konwencji, aby uniknąć konfliktów z innymi programistami.

Po opublikowaniu aplikacji pod nazwą pakietu manifestu, na zawsze pozostanie to unikalna tożsamość aplikacji. Zmiana nazwy na inną powoduje powstanie całkowicie nowej aplikacji, której nie można zainstalować jako aktualizacji do istniejącej aplikacji.

Więcej o rzeczach, których nie możesz zmienić tutaj

Jeśli chodzi o Twoje pytanie dotyczące adresu URL z Google Play, zdefiniowany tam pakiet jest powiązany z w pełni kwalifikowanym pakietem aplikacji, który masz w pliku AndroidManifest.xml . Więcej o formatach linków w Google Play tutaj .

Voicu
źródło
7
warto o tym wspomnieć, ponieważ rozejrzałem się za tym - możesz zmienić nazwę pakietu rzeczywistego w java i praktycznie wszędzie poza manifestem. ten w manifestacji jest mniej więcej niezależny od tego, który jest wszędzie indziej.
lahwran,
3
@lahwran Napotkałem problemy z poprawnym budowaniem Android Studio, gdy nie pasowały - problemy zniknęły, gdy się pojawiły.
elBradford
Ciekawe, zastanawiam się, czy to się zmieniło. Nie zdziwiłbym się, gdyby to zadziałało raz, aby je zmienić, ale nigdy nie było wspierane.
lahwran
1
@Voicu czy można zmienić nazwę pakietu, jeśli wgraliśmy pierwszą kompilację w trybie beta i nie chcemy zmieniać pakietu w trybie wydania
Tejas Pandya
więc co się stanie, jeśli mam płatną wersję wraz z darmową wersją o tej samej nazwie pakietu? oba w Sklepie Play jako różne aplikacje
Femn Dharamshi
71

Nie, nie możesz go tak po prostu zmienić, musisz przesłać nowy pakiet jako nową aplikację. Spójrz na aplikację Google Talk, jej nazwa została zmieniona na Hangouts, ale nazwa pakietu jest nadal com.google.android.talk. Bo nie da się tego zrobić :) Pozdrawiam.

Mam szczęście
źródło
4
można by pomyśleć, że Google sam zrozumiałby problem
kkarakk
Czy można zmienić pojedynczą literę z dużej na małą literę w nazwie pakietu aplikacji Andorid istnieje w sklepie Play?
Nilesh Panchal
23

O ile wiem, co możesz zrobić, to wycofać poprzednią aplikację i przekierować wszystkich użytkowników do nowej aplikacji. Ta procedura nie jest obsługiwana przez Google (tsk ... tsk ...), ale można ją wdrożyć w czterech krokach:

  1. Zmień bieżącą aplikację, aby wyświetlać użytkownikom komunikat o uaktualnieniu i przekierować ich do nowej listy aplikacji. Prawdopodobnie wiadomość pełnoekranowa wystarczyłaby z przyjaznym tekstem. W idealnym przypadku ta wiadomość mogłaby zostać wywołana zdalnie, ale można też użyć daty granicznej. (Ale wtedy będzie to dla ciebie ciężki termin, więc bądź ostrożny ...;))

  2. Opublikuj zmodyfikowaną starą aplikację jako uaktualnienie, być może z pewnymi aktualizacjami funkcji / poprawkami błędów, aby „osłodzić ofertę” użytkownikom. Nadal nie ma gwarancji, że wszyscy użytkownicy dokonają aktualizacji, ale prawdopodobnie większość to zrobi.

  3. Przygotuj nową aplikację ze zaktualizowaną nazwą pakietu i prześlij ją do sklepu, a następnie uruchom komunikat w starej aplikacji (lub po prostu poczekaj, aż wygaśnie, jeśli taki był Twój wybór).

  4. Cofnij publikację starej aplikacji w Sklepie Play, aby uniknąć nowych instalacji. Cofnięcie publikacji aplikacji nie oznacza, że ​​użytkownicy, którzy już ją zainstalowali, nie będą już mieli do niej dostępu, ale przynajmniej potencjalni nowi użytkownicy nie znajdą jej na rynku.

Nie jest idealny i może być denerwujący dla użytkowników, czasami nawet niemożliwy do wdrożenia ze względu na status / możliwości aplikacji. Ale ponieważ Google nie pozostawił nam wyboru, jest to jedyny sposób na migrację użytkowników starych aplikacji do „nowej” (nawet jeśli nie jest to naprawdę nowa). Nie wspominając o tym, że jeśli nie masz dostępu do źródeł i szczegółów podpisywania kodu starej aplikacji, wszystko, co możesz zrobić, to mieć nadzieję, że użytkownicy zauważą nową aplikację ...

Jeśli ktokolwiek wymyślił lepszy sposób na wszelkie sposoby: proszę, powiedz.

racs
źródło
5
Chociaż jest to najlepsze, co można zrobić, aby zainstalować nową aplikację, należy pamiętać, że stara aplikacja nadal będzie znajdować się na urządzeniu - ponieważ nie jest to tak naprawdę aktualizacja, ale nowa instalacja (chyba że użytkownik ręcznie odinstaluje poprzednią). Będziesz więc mieć starą aplikację, a także nową aplikację na urządzeniu i prawdopodobnie z tymi samymi ikonami programu uruchamiającego - myląc użytkownika - stara vs nowa.
Jasper,
1
Masz rację, niestety nie można usunąć starej aplikacji w ramach procesu instalacji nowej aplikacji. Możliwe jest jednak wykrycie obecności starej aplikacji i ostrzeżenie użytkownika, aby ją usunął. Można to zrobić podczas uruchamiania nowej aplikacji lub w module obsługi zdarzeń po instalacji ( developer.android.com/reference/android/content/ ... ).
wyścigi
1
Ponadto stara aplikacja mogła wykryć obecność nowej i po prostu pokazać toast, a następnie uruchomić nową i wyjść.
Moritz Oboje
6

Nie, nie możesz zmienić nazwy pakietu, chyba że zgadzasz się na opublikowanie go jako nowej aplikacji w Sklepie Play:

Po opublikowaniu aplikacji pod nazwą pakietu manifestu, na zawsze pozostanie to unikalna tożsamość aplikacji. Zmiana nazwy na inną powoduje powstanie całkowicie nowej aplikacji, której nie można zainstalować jako aktualizacji do istniejącej aplikacji. Instrukcja Androida potwierdza to również tutaj:

Przestroga: Po opublikowaniu aplikacji nie można zmienić nazwy pakietu. Nazwa pakietu określa tożsamość aplikacji, więc jeśli ją zmienisz, zostanie uznana za inną aplikację, a użytkownicy poprzedniej wersji nie będą mogli zaktualizować jej do nowej. Jeśli zgadzasz się na opublikowanie nowej wersji swojej aplikacji jako zupełnie nowego podmiotu, możesz to oczywiście zrobić - po prostu usuń starą aplikację ze Sklepu Play (jeśli chcesz) i opublikuj nową, z inną nazwą pakietu.

Rahul Sethi
źródło
2

Jeśli odnosisz się do com.example.app, nie, rozumiem, że nie można tego uznać za nową aplikację

aehs29
źródło
2

Nigdy, nie możesz tego zrobić, ponieważ nazwa pakietu jest unikatowym identyfikatorem nazwy Twojej aplikacji .....

Shubhamhackz
źródło
1

Kompletny przewodnik: https://developer.android.com/studio/build/application-id.html

Zgodnie z oficjalnymi blogami Androida: https://android-developers.googleblog.com/2011/06/things-that-cannot-change.html

Możemy to powiedzieć:

  • Jeśli nazwa pakietu manifestu uległa zmianie, nowa aplikacja zostanie zainstalowana wraz ze starą aplikacją, więc obie będą współistnieć na urządzeniu użytkownika w tym samym czasie.

  • Jeśli certyfikat podpisywania ulegnie zmianie, próba zainstalowania nowej aplikacji na urządzeniu zakończy się niepowodzeniem do czasu odinstalowania starej wersji.

Zgodnie z listą kontrolną aktualizacji aplikacji Google: https://support.google.com/googleplay/android-developer/answer/113476?hl=en

Zaktualizuj swoje aplikacje

Przygotuj plik APK

Gdy będziesz gotowy do wprowadzenia zmian w pliku APK, pamiętaj o zaktualizowaniu kodu wersji aplikacji, aby obecni użytkownicy otrzymali aktualizację.

Skorzystaj z poniższej listy kontrolnej, aby upewnić się, że nowy pakiet APK jest gotowy do zaktualizowania istniejących użytkowników:

  • Nazwa pakietu zaktualizowanego pliku APK musi być taka sama, jak bieżącej wersji.
  • Kod wersji musi być większy niż bieżąca wersja. Dowiedz się więcej o wersjonowaniu aplikacji.
  • Zaktualizowany plik APK musi być podpisany tym samym podpisem, co bieżąca wersja.

Aby sprawdzić, czy Twój plik APK korzysta z tego samego certyfikatu co poprzednia wersja, możesz uruchomić następujące polecenie na obu plikach APK i porównać wyniki:

$ jarsigner -verify -verbose -certs my_application.apk

Jeśli wyniki są identyczne, używasz tego samego klucza i możesz kontynuować. Jeśli wyniki są inne, konieczne będzie ponowne podpisanie pliku APK przy użyciu prawidłowego klucza.

Dowiedz się więcej o podpisywaniu aplikacji

Prześlij swój plik APK Gdy plik APK będzie gotowy, możesz utworzyć nową wersję.

Vinayak
źródło