我注意到之前已经提到过,但我还没有找到答案。这个问题的主要症状是当apk被部署为“Run”时,Eclipse会在断点处停止
到目前为止,我已经完成了这些操作,并且没有一个从Project shell生成正确运行的“Run”构建 - >运行方式 - > 1. Android应用程序
•断开连接,卸载并重新安装apk无法解决问题(这是平板电脑设备,而不是模拟器。)
•使用文件系统制作所有项目和库项目
•全新的项目正常工作,例如它们不会在与问题项目相同的Eclipse工作空间中的“运行”模式下停在断点上
•窗口 - >偏好 - >运行/调试(扩展) - >启动“当工作空间包含断点时以调试模式启动”设置为永不
•封闭和打开的Eclipse
•在该透视图中的“调试”选项卡下杀死所有正在运行的进程
•通过删除主项目库和库项目依赖项的res和gen文件夹,在Eclipse IDE中手动清理整个工作区
•检查项目构建文件中是否出现“debug”一词
•使用以下命令从命令行清除构建项目:ant clean then ant release
有趣的是,当我从命令行清理构建然后全新安装新的apk时,如果Eclipse打开,调试器将附加到正在运行的进程并在第一个断点处停止!如果Eclipse关闭,程序将使用标准的“Waiting for Debugger”对话框等待调试器。
因此,构建过程中的某些内容(尚未弄清楚所有文件涉及的内容)和/或.metadata中的某些内容和/或某些依赖性。
修改 我在:
找到了一个文件C:\Projects\Mobile\Android\.metadata\.plugins\org.eclipse.debug.core\.launches\MyProjectName.launch
xml中的:
<launchConfiguration type="com.android.ide.eclipse.adt.debug.LaunchConfigType">
不知道这是否是一个线索,但如果我删除该文件,Eclipse将只用它替换它。
编辑
*确认项目在构建并从另一台机器运行时运行正常,所以我怀疑这是我的工作机器的Eclipse工作区导致了这个问题。也许我需要抛弃所有工作区的元数据并重新开始。
答案 0 :(得分:13)
我遇到了同样的问题。解决方案是,重新启动您的设备。祝你好运。
答案 1 :(得分:2)
你说你有断点吗?
尝试:
Window -> Preferences -> Run/Debug(expand) -> Launching
当工作空间包含断点时,应该有一个名为“在调试模式下启动”的部分“
如果不是“从不”那将是你的问题。
答案 2 :(得分:2)
我有同样的问题,我需要4个步骤来解决它们:
只有重启设备对我不起作用!
答案 3 :(得分:1)
更新
使用Intellij代替Eclipse进行Android开发(远少于IDE接口错误),然后完全忽略以下内容:
自原帖以来我发现的两条重要规则:
1)养成等待Eclipse完成的习惯构建工作区 - 默认情况下,指示器显示在Eclipse的左下角。在具有多个库的大型项目中,WS构建时间可能需要几分钟。在构建完成之前不要更改任何内容。
2)关闭工作区中的所有项目,并从没有lib依赖项的项目开始一次一个地重新打开它们,依此类推。确保不要打开项目,直到您可以验证工作区是否已完成构建已打开的项目。在开始下一个项目之前修复所有问题。
祝你好运。答案 4 :(得分:1)
我遇到了同样的问题:我只能在调试模式下运行我的应用程序,但是当我按下“运行”按钮时它将无法正常启动。我在这里尝试了所有解决方案,但没有任何对我有用。
过了一段时间,我在我的活动开始时找到了android.os.Debug.waitForDebugger();
。我希望这个答案有时会对某人有所帮助,因为当我寻求帮助时,这个问题首先出现在Google中。
答案 5 :(得分:0)
有时发生在我身上 - 你是否完全从手机上卸下了应用程序并尝试重新安装?你能安装apk然后断开手机与机器的连接吗? (如果你使用模拟器,obv将不起作用)
答案 6 :(得分:0)
在Samsung S4上遇到同样的问题,通过取消选中“Developer options”下的“Wait for debugger”选项来解决问题。
答案 7 :(得分:0)
如果出现同样的问题,请检查您的项目中是否有这行代码:
android.os.Debug.waitForDebugger();
它可能存在于服务中以进行调试,一旦您将其注释掉,它将在发布模式下工作。问题是这行代码等待调试器,如果你没有在调试模式下运行它将无限期地等待