【问题标题】:Running my new code runs my old code?运行我的新代码运行我的旧代码?
【发布时间】:2014-10-05 20:08:15
【问题描述】:

不知何故,我添加到程序中的任何代码都无法在我的 android 设备上运行。它只是运行我的旧代码。

  • 我经常在应用管理器中从手机中删除我的应用。
  • 如果我添加新功能或更改功能,旧代码仍会运行。
  • 我什至删除了应该消除功能的完整代码块。但不知何故,所有旧功能在重新安装后仍保留在应用中。

简单示例:在 TextButton 上单击我将一些 UI 元素移动 200。这很好用。当我删除完整的按钮侦听器时,它仍然可以正常工作,但我完全自己猜测,因为代码应该消失了。

  • 我尝试重新启动 Eclipse,但没有成功。

这件事快把我逼疯了。我在一些简单的代码上被困了几个小时,并且对它为什么没有运行感到困惑。然后我发现我的日志没有在 logcat 中显示。不知何故,有时它确实将新代码更新到设备中,因为现在我有一个登录设备恢复但我至少在 30 分钟前删除了它,现在它仍然显示在我的 logcat 中。

桌面应用程序可以正常工作。不知何故,我感觉这发生在之前,随着时间的推移,情况变得更糟,直到我无法再测试任何东西。

所以要清楚:

  • 我将代码添加到我的应用程序中。
  • 从 Eclipse 作为 Android 应用程序运行它
  • 未显示任何更改
  • 使用手机应用程序管理器从手机中删除应用程序
  • 删除一个完整的代码块,例如保存我的完整阶段的show() 方法
  • 从 Eclipse 作为 Android 应用程序运行它
  • 应用程序仍然像完整阶段一样运行。

-- 编辑--

现在我暂时没有对我的代码做任何事情并运行它。现在它可能使用带有空 show() 方法的版本的代码。然而,这在目前已经被撤消。 eclipse 可以堆叠运行吗?

【问题讨论】:

  • 也许是时候切换到 Android Studio...
  • @BoldijarPaul 认真的吗?我终于对日食感到满意,花了我一个年龄来把一切都做好。 Android Studio 是否支持带有桌面项目的 LibGDX?
  • 您确定要在编译之前保存文件吗?我知道这是一个愚蠢的问题,但我遇到了一个类似的问题 - 结果发现 eclipse 仍在使用旧文件,而不是在编译之前保存新文件。
  • @MikołajMularczyk 我的项目是自动保存的,刚刚测试过。但我比克林特伊斯特伍德更频繁地按下 Ctrl-s。
  • @MennoGouw 是的,确实如此,而且对于 gradle 集成要好得多。我在 2-3 个月前使用 Eclipse...我永远不会再使用它...Android Studio 在我看来是最好的,适用于内存超过 4GB 的个人电脑/笔记本电脑。

标签: java android eclipse libgdx


【解决方案1】:

检查

“项目 -> 自动构建”

已检查。 (很可能是您的问题)。

也在做一个

“项目 -> 清理...”

告诉 IDE 删除任何以前编译的二进制文件并重新构建它们。 (APK 文件)。

【讨论】:

    【解决方案2】:

    如果您的代码中存在错误,并且您选择了在程序中存在错误时无警告运行,则可能会发生这种情况。在这种情况下,最后成功构建的代码将被推送!正如 Lestat 所提到的,尝试进行清理,如果项目现在显示错误,那么您就是罪魁祸首,否则请确保您的 XML 文件都是正确的。

    另一项检查可能是查看工作区中最后生成的 apk 文件的时间戳。

    PS: eclipse 有一个错误,它不会一次保存文件,一个简单的工作区重启解决了这个问题。

    【讨论】:

      【解决方案3】:

      遇到了同样的问题 - 更新了我的代码,但手机运行的是旧版本。

      1. 尝试构建 --> 清理项目
      2. 尝试过的文件 --> 使缓存无效/重新启动 现在它可以工作并识别新代码了!

      这说明 #1 和 #2 在幕后做了什么?

      【讨论】:

        猜你喜欢
        • 2015-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-25
        • 2021-12-02
        • 2018-06-28
        相关资源
        最近更新 更多