更改 libGDX 游戏的包标识符
Change package identifier of libGDX game
我在 google Play 商店中已有一款游戏。现有版本完全使用 Android Studio 使用本机代码开发。现在我即将在 Play 商店发布同一游戏的高度增强版本,但这次,该应用程序是使用 libGDX
开发的。问题是我的应用程序的原始包名是 com.myname.mygame
(透露真实姓名的一些保密问题)。我为 libGDX
基础项目提供了相同的包名称。但是当它在 android 中编译时,它会在包名称中添加一个 .android
扩展名。所以包名称现在变成 com.myname.mygame.android
,因此我无法将应用程序作为更新发布。如何更改包名称?
编辑
根据此处发布的答案之一,我尝试将核心模块 fromcom.myname.mygame
的包名称更改为 com.myname.mygame.core
,然后将清单中的包更改为 package="com.myname.mygame"
并移动 Android启动器从 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
并且应用程序无法启动。
Libgdx 具有此架构:
com.myname.mygame
作为核心模块
com.myname.mygame.android
作为 android 模块
com.myname.mygame.desktop
作为桌面模块等
因此您需要重构它们,例如将核心模块的包名称从 com.myname.mygame
更改为 com.myname.mygame.core
然后将清单中的包更改为 package="com.myname.mygame"
并将 AndroidLauncher
从com.myname.mygame.android
到 com.myname.mygame
非常感谢 Saeed 的回答,我能够做到,但我还需要做一件事才能在更改包名称后使应用程序正常工作。我在这里解释步骤:
- 将核心模块的包名从
com.myname.mygame
更改为com.myname.mygame.core
- 将清单中的包更改为
package="com.myname.mygame"
- 将 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'
你准备好了!!!
我在 google Play 商店中已有一款游戏。现有版本完全使用 Android Studio 使用本机代码开发。现在我即将在 Play 商店发布同一游戏的高度增强版本,但这次,该应用程序是使用 libGDX
开发的。问题是我的应用程序的原始包名是 com.myname.mygame
(透露真实姓名的一些保密问题)。我为 libGDX
基础项目提供了相同的包名称。但是当它在 android 中编译时,它会在包名称中添加一个 .android
扩展名。所以包名称现在变成 com.myname.mygame.android
,因此我无法将应用程序作为更新发布。如何更改包名称?
编辑
根据此处发布的答案之一,我尝试将核心模块 fromcom.myname.mygame
的包名称更改为 com.myname.mygame.core
,然后将清单中的包更改为 package="com.myname.mygame"
并移动 Android启动器从 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
并且应用程序无法启动。
Libgdx 具有此架构:
com.myname.mygame
作为核心模块
com.myname.mygame.android
作为 android 模块
com.myname.mygame.desktop
作为桌面模块等
因此您需要重构它们,例如将核心模块的包名称从 com.myname.mygame
更改为 com.myname.mygame.core
然后将清单中的包更改为 package="com.myname.mygame"
并将 AndroidLauncher
从com.myname.mygame.android
到 com.myname.mygame
非常感谢 Saeed 的回答,我能够做到,但我还需要做一件事才能在更改包名称后使应用程序正常工作。我在这里解释步骤:
- 将核心模块的包名从
com.myname.mygame
更改为com.myname.mygame.core
- 将清单中的包更改为
package="com.myname.mygame"
- 将 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'
你准备好了!!!