1

可能重复:
当我在 Android 上运行 Libgdx 项目时,代码中的更改没有反映出来

几个月来,我一直在 Eclipse 中开发一个 Android 应用程序。最近,我遇到了一个问题,我对源代码进行了更改,然后按 Ctrl+F11 在物理设备上运行应用程序,但我最近的更改没有反映出来。据我所知,我的代码正在编译,但没有重新打包到 APK 中。

我使用的是 libGDX,所以我的 Android 应用程序实际上包含两个项目,一个是 Android,一个是与平台无关的位(以及 libGDX 库)。Android 项目包括一个常见的“项目”(在 Java 构建路径首选项中)。

当我对一些非 Android 特定的通用代码进行更改时,我相信 Android 项目的构建器正在“看到”更改,正如“控制台”日志所示(因为我在Window -> Preferences -> Android -> Build: Build Output设置中启用了 Verbose 构建):

[2012-07-23 13:42:04 - Project - Android] Starting incremental Package build: Checking resource changes.
[2012-07-23 13:42:04 - Project - Android] Skipping over Post Compiler.

(“Project - Android”是项目的 Android 特定部分的名称。)

如果我在进行更改后尝试运行 Android 构建,我会收到“您没有进行任何更改”警告(因此它只是将现有实例带到设备上,而不是杀死它并启动新代码):

[2012-07-23 13:46:44 - Project - Android] Application already deployed. No need to reinstall.

如果我明确地清理构建 ( Project -> Clean),我所做的任何更改都会被合并,并且生成的 Android 项目会随着这些更改一起部署。所以,我相信基本路径和构建基础设施工作正常,只是增量更新有问题。注意我已经Project -> Build Automatically检查过了。

如果我构建一个“桌面”版本(如 Android 版本,但包含公共代码的第三个项目),则在更改公共代码后增量构建工作。因此,问题似乎出在构建系统的特定于 Android 的部分(也许?)。

是否有任何日志我可以查看以获取有关构建系统如何决定需要重建哪些内容的更多详细信息?

我正在使用 Eclipse 靛蓝:

 Eclipse IDE for Java Developers

 Version: Indigo Service Release 2
 Build id: 20120216-1857

我正在使用最新的 Android SDK(SDK 工具 rev 20,并针对 SDK 16 进行编译)。

更新

其他 libGDX 用户已将其缩小到 SDK v20:http ://www.badlogicgames.com/forum/viewtopic.php?f=11&t=4627&hilit=build+project+linked

感谢 libGDX 论坛上的人们,在 google 上提交了一个错误: http ://code.google.com/p/android/issues/detail ?id=34305(反对: http://code .google.com/p/android/issues/detail?id=36174

4

0 回答 0