Android Studio调试器虽然是旧版本的代码,但不是最新的

Jim*_*ica 5 android adb android-debug cwac-camera

我是Android开发人员的新手,所以我可能会遗漏一些我能尝试的明显的东西.

我正在尝试调试一些代码,但调试器正在逐步完成旧版本的代码,而不是我项目中的当前版本.

错误的调试行 很明显,它已跳过我的异常'throw'和注释代码

我试过了:

  • 卸载安装到设备的上一个apk
  • 重建/清洁
  • 使用Genymotion和真实设备(姜饼)
  • adb kill-server
  • 重启并且.工作室
  • 关于SO的类似问题

这实际上是cwac demo v9,因此它是一个使用"相机"库的演示应用程序,它位于我正在调试的cwac相机库项目中.

对我来说不清楚的是gradle构建的地方和内容,所以我没有从Windows资源管理器中"清理"任何东西.我甚至无法检查文件日期......

有什么提示可以告诉我如何检查最新的代码是否会出现在设备上?

谢谢.

Jim*_*ica 1

作为一名 Android 新手,面对 IDE/gradle 的复杂性(希望它更像 Visual Studio!),我很难找到问题所在,但我找到了,而且这是 CWAC-Camera 项目特有的问题(新鲜的)来自 GitHub)。

FWIW 为什么它是一个如此复杂的 IDE/构建系统,似乎其中很多都可以内部化(我的意思是,让 gradle 消失)..?

解决方案

文件->项目结构->(选择左侧运行的模块,对我来说是camera-v9)->(选择依赖项选项卡)

应该有一个CWAC 相机的Maven库条目,标记为 Scope==“Releasecompile”,还有一个Module库,标记为 Scope==“Debugcompile”。

我删除了 Maven 库条目,并将模块条目更改为scope==“Compile”。然后就成功了。

因此,所发生的情况是使用库的 Maven 副本而不是模块。为什么?不确定,因为我认为在某些东西上运行“调试器”需要“调试”构建模式。我发现了这个,但无法遵循接受的答案(因为我不太了解 IDE)当应用程序处于调试状态时,为什么 Gradle 在发布模式下构建我的模块

我不知道这是否只是 CWAC 演示项目中的一个失误,或者我的设置有问题。在我看来,使用 Maven 库进行发布可能会产生意外的结果(即自定义消失了)。

话虽如此,CWAC 似乎是一个救星,我对此非常感激!