2015-05-25 13 views
6

Mam istniejącą grę w sklepie Google Play. Istniejąca wersja została w pełni opracowana przy użyciu Android Studio przy użyciu kodów natywnych. Teraz mam zamiar wydać ulepszoną wersję tej samej gry w sklepie Play, ale tym razem aplikacja jest rozwijana przy użyciu libGDX. Problem polega na tym, że oryginalna nazwa mojej aplikacji to com.myname.mygame (pewne problemy z poufnością w ujawnianiu prawdziwego imienia i nazwiska). Podałem tę samą nazwę pakietu dla podstawowego projektu libGDX. Ale kiedy kompiluje się w systemie Android, dodaje nazwę .android do nazwy pakietu. Tak więc nazwa pakietu staje się teraz com.myname.mygame.android, dzięki czemu nie mogę zwolnić aplikacji jako aktualizacji. Co mogę zrobić, aby zmienić nazwę pakietu?Zmiana identyfikatora pakietu gry libGDX

EDIT

Zgodnie z jedną z odpowiedzi zamieszczonych tutaj, próbowałem zmienić nazwę pakietu modułu podstawowego fromcom.myname.mygame do com.myname.mygame.core, potem zmienił pakiet w oczywisty do package="com.myname.mygame" i przeniósł AndroidLauncher z com.myname.mygame.android do com.myname.mygame. Ale teraz ja otrzymuję następujący błąd, gdy próbuję uruchomić aplikację:

Installing com.myname.mygame.android 
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.myname.mygame.android" 
pkg: /data/local/tmp/com.myname.mygame.android 
Success 


Launching application: com.myname.mygame.android/com.myname.mygame.AndroidLauncher. 
DEVICE SHELL COMMAND: am start -n "com.myname.mygame.android/com.myname.mygame.AndroidLauncher" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.myname.mygame.android/com.myname.mygame.AndroidLauncher } 
Error type 3 
Error: Activity class {com.myname.mygame.android/com.myname.mygame.AndroidLauncher} does not exist. 

Zauważyłam, że wciąż jest tam napisane są com.myname.mygame.android a aplikacja nie zostanie uruchomiony.

Odpowiedz

10

Dzięki dużo, aby odpowiedzieć Saeed jest, byłem w stanie aby to zrobić, ale była jeszcze jedna rzecz, którą musiałem zrobić, aby aplikacja działała po zmianie nazwy pakietu. Wyjaśniam kroki tutaj:

  1. Zmień nazwę pakietu modułu podstawowego z com.myname.mygame do com.myname.mygame.core
  2. Zmień pakietu w oczywisty do package="com.myname.mygame"
  3. Move AndroidLauncher z com.myname.mygame.android do com.myname.mygame

powyższe kroki rozwiązał problem zmiany nazwy paczki, wielkie dzięki Saeedowi. Teraz aplikacja nie uruchomiła się. Wtedy zobaczyłem, że polecenie instalacji było złe. Aby to zmienić, wystarczy przejść do aplikacji Android na build.gradle i zmienić linię:

commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.myname.mygame.android/com.myname.mygame.android.AndroidLauncher' 

do:

commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.myname.mygame/com.myname.mygame.AndroidLauncher' 

i jesteś gotowy, aby przejść !!!

6

libgdx ma tę architekturę:

com.myname.mygame jako moduł rdzenia

com.myname.mygame.android jak Android modułu

com.myname.mygame.desktop jako moduł pulpitu itp.

Więc trzeba byłaby im na przykład nazwy pakietu zmiana modułu podstawowego z com.myname.mygame do com.myname.mygame.core następnie zmienić pakiet w oczywisty do package="com.myname.mygame" i przenieść AndroidLauncher z com.myname.mygame.android do com.myname.mygame

+0

OK, spróbuję tego. :) –

+0

Czy możesz mi powiedzieć, jak refactor core module i zmienić nazwę pakietu w Android studio? –

+0

Kliknij prawym przyciskiem myszy na folderze głównym -> refactor -> zmień nazwę –

Powiązane problemy