更改libGDX游戏的包标识符

Har*_*nan 6 android package android-manifest libgdx

我在谷歌游戏商店有一个现有的游戏.现有版本是使用Android Studio使用本机代码完全开发的.现在我即将在Play商店中发布同一游戏的高度增强版本,但这一次,该应用程序是使用开发的libGDX.问题是我的应用程序的原始包名是com.myname.mygame(显示真实姓名时的一些机密性问题).我为libGDX基础项目提供了相同的包名.但是当它在android中编译时,它正在添加.android包名称的扩展名.因此,包名称现在变为com.myname.mygame.android,因此我无法将应用程序作为更新发布.我该怎么做才能更改包名?

编辑

根据此处发布的一个答案,我尝试将核心模块的软件包名称更改fromcom.myname.mygamecom.myname.mygame.core,然后将清单中的软件包更改为package="com.myname.mygame"并将AndroidLauncher com.myname.mygame.android移至com.myname.mygame.但是,当我尝试运行应用程序时,我收到以下错误:

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.
Run Code Online (Sandbox Code Playgroud)

我注意到它仍然写在那里com.myname.mygame.android,应用程序无法启动.

Har*_*nan 10

非常感谢Saeed的回答,我能够做到这一点,但是在更改包名后我还需要做一件让应用程序工作的事情.我在解释这里的步骤:

  1. 将核心模块的包名称更改com.myname.mygamecom.myname.mygame.core
  2. 将清单中的包更改为 package="com.myname.mygame"
  3. 将AndroidLauncher com.myname.mygame.android移至com.myname.mygame

上述步骤解决了更改包名的问题,非常感谢Saeed.现在应用程序无法启动.然后我看到安装命令错误.要更改此设置,只需转到Android应用程序build.gradle并更改以下行:

commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.myname.mygame.android/com.myname.mygame.android.AndroidLauncher'
Run Code Online (Sandbox Code Playgroud)

至:

commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.myname.mygame/com.myname.mygame.AndroidLauncher'
Run Code Online (Sandbox Code Playgroud)

你准备好了!


Sae*_*umi 6

Libgdx有这样的架构:

com.myname.mygame 作为核心模块

com.myname.mygame.android 作为android模块

com.myname.mygame.desktop 作为桌面模块等.

所以,你需要重构他们的核心模块的例子变化包名从com.myname.mygamecom.myname.mygame.core那么明显变化包package="com.myname.mygame"和移动AndroidLaunchercom.myname.mygame.androidcom.myname.mygame