在重新/卸载应用程序时阻止Android设备重新启动

时间:2012-05-04 01:18:53

标签: android eclipse adb

我在HTC平板电脑上调试Android应用程序,每次卸载应用程序时,设备都会重新启动。卸载也是尝试新构建的一部分,因此对应用程序的任何更改都需要在测试之前重新启动。这可以预见会加剧发展。

问题听起来与that described here类似,只不过在我的案例中没有任何关于它的谜团。卸载=>重启。通过Eclipse&更改应用程序和调试adb =>重启。如同对类似问题的唯一答案所建议的那样擦除设备上的所有数据是不可取的,特别是因为没有太多迹象表明即使是那张海报也将其视为牺牲鸡肉的技术等等。

有谁能告诉我为什么会这样,以及如何预防?

1 个答案:

答案 0 :(得分:1)

我不是提供这个作为答案(至少现在还没有),但需要更多空间而不是评论提供关于如何调查此事的头脑风暴

我很想采取一个安全的“hello world”类型的应用程序,并将其作为自己的活动合并到项目中。然后注释掉清单和java文件中的所有实际功能。这应该只留下你好世界和资源。看看设备在运行后是否能够继续卸载 - 如果没有,猜测你可能不得不怀疑资源。

这应该进行评论 - 或者你可以直接从树中删除文件

find  . -name "*.java" | xargs -I f sed -i 's/^/\/\//' f

(有些编辑会阻止评论/取消注释,emacs会对文件的列进行任意操作。)

然后我要么取消注释真实活动的骨架 - 即所有onCreate,onStart等方法,而不对其进行任何操作,并将该活动恢复到清单。否则我将恢复功能性Java代码,但将活动保留在清单之外。然后,您可以逐渐添加越来越多的功能,直到崩溃为止。

如果你有任何ndk libs甚至java libs,你可以玩那些类似的游戏。

您还可以尝试在卸载期间运行logcat,并在设备挂断之前查看是否有任何消息发出。

哦 - 一个主要的问题,这是内核重启,还是android运行时重启?在后一种情况下,adb& logcat应该可以存活,并且/ proc / uptime不会重置为少数。

如果你把它归结为一个可疑的操作,如果你能发布一个描述那将是很好的 - 我的测试集中有一个类似的设备,并且很想知道它是否有相同的明显错误。此外,HTC还有许多“开发者布道者”,他们可能是联系人。