2015-05-25 4 views
6

Ich habe ein bestehendes Spiel im Google Play Store. Die bestehende Version wurde vollständig mit Android Studio unter Verwendung nativer Codes entwickelt. Jetzt werde ich eine sehr verbesserte Version des gleichen Spiels im Play Store veröffentlichen, aber diesmal wird die Anwendung mit libGDX entwickelt. Das Problem ist, dass der ursprüngliche Paketname meiner Anwendung com.myname.mygame war (einige Vertraulichkeitsprobleme beim Aufdecken des echten Namens). Ich gab den gleichen Paketnamen für libGDX Basisprojekt. Aber wenn es in Android kompiliert wird, fügt es eine .android Erweiterung zu dem Paketnamen hinzu. Der Paketname lautet nun com.myname.mygame.android, weshalb ich die App nicht als Update freigeben kann. Was kann ich tun, um den Paketnamen zu ändern?Ändern Paket-ID von libGDX Spiel

EDIT

Wie pro eine der Antworten hier gepostet habe ich versucht, den Paketnamen des Kernmoduls fromcom.myname.mygame-com.myname.mygame.core ändern, dann geänderte Paket in offenbar package="com.myname.mygame" und bewegt AndroidLauncher com.myname.mygame.android-com.myname.mygame. Aber jetzt erhalte ich die folgende Fehlermeldung, wenn ich versuche, die App zu laufen:

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. 

Ich stellte fest, dass es noch da geschrieben sind com.myname.mygame.android und die Anwendung nicht gestartet.

Antwort

10

Vielen Dank an Saeed Antwort bewegen, konnte ich um es zu tun, aber es gab noch eine weitere Sache, die ich tun musste, damit die App funktioniert, nachdem der Paketname geändert wurde. Ich erkläre die Schritte hier:

  1. ändern Paketnamen des Kernmoduls com.myname.mygame-com.myname.mygame.core
  2. Paket in Manifest package="com.myname.mygame"
  3. Verschieben AndroidLauncher com.myname.mygame.android-com.myname.mygame

die obigen Schritte löste das Problem, den Paketnamen zu ändern, ein großes Dankeschön an Saeed. Jetzt konnte die Anwendung nicht gestartet werden. Dann sah ich, dass der Installationsbefehl falsch war. Um dies zu ändern, gehen Sie einfach auf den Android-Anwendung build.gradle und ändern Sie die folgende Zeile ein:

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

zu:

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

Und Sie sind bereit zu gehen !!!

6

Libgdx hat diese Architektur:

com.myname.mygame als Kernmodul

com.myname.mygame.android als android Modul

com.myname.mygame.desktop als Desktop-Modul, etc.

So müssen sie zum Beispiel Änderungspaket Namen Core-Modul Refactoring com.myname.mygame-com.myname.mygame.core dann Paket package="com.myname.mygame" in manifest ändern und AndroidLaunchercom.myname.mygame.android-com.myname.mygame

+0

Ok, ich werde das ausprobieren. :) –

+0

Können Sie mir sagen, wie Core-Modul umgestaltet und Paketname in Android Studio ändern? –

+0

Rechtsklick auf Core-Ordner -> Refactor -> Umbenennen –