更改libGDX游戏的软件包标识符

6
我在Google Play商店里有一款现有的游戏。现有版本是完全使用Android Studio和本地代码开发的。现在,我即将发布一个高度增强版的同款游戏到Play商店,但这次应用是使用libGDX开发的。问题是我的应用程序原始包名是com.myname.mygame(出于保密原因未透露真实名称)。我为libGDX基础项目提供了相同的包名。但当它在Android上编译时,它会将.android扩展添加到包名中。因此,包名现在变成了com.myname.mygame.android,因此我无法发布更新应用。我该怎么做来更改包名? 编辑 根据此处发布的答案之一,我尝试将核心模块的包名从com.myname.mygame更改为com.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.

我注意到还写着com.myname.mygame.android,这导致应用程序无法启动。

2个回答

10

非常感谢Saeed的回答,我通过它成功地做了这件事,但在更改包名后,还有一件事情需要做。我在这里解释步骤:

  1. 将核心模块的包名从 com.myname.mygame 更改为 com.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'

至:

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

现在你已经准备好了!!!


6

Libgdx的架构如下:

com.myname.mygame作为核心模块

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

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

因此,您需要进行重构,例如将核心模块的包名从com.myname.mygame更改为com.myname.mygame.core,然后在清单文件中更改包名为package="com.myname.mygame"并将AndroidLaunchercom.myname.mygame.android移动到com.myname.mygame


好的,我会试一下。 :) - Harikrishnan
你能告诉我如何在Android Studio中重构核心模块并更改包名吗? - Harikrishnan
右键单击核心文件夹 -> 重构 -> 重命名 - Saeed Masoumi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接