0

我是一名安卓开发者。我最近购买了三星 Galaxy S3 (I9300),但遇到了一些问题。

错误管理不起作用。我的意思是,当应用程序崩溃时,它不会显示“强制关闭”,手机只会死机。

我以前有过HTC;我也在开发时使用它,并且使用相同的故障应用程序,我的 HTC 显示强制关闭,但 S3 冻结,我必须重新启动它。可以想象,这很烦人。

我找到了一个临时解决方案,但它会影响wifi。使用这个应用程序

https://play.google.com/store/apps/details?id=com.issess.fastforceclose&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5pc3Nlc3MuZmFzdGZvcmNlY2xvc2UiXQ ..

并启用“旧的快速强制关闭”似乎可以解决问题,但它存在与 wifi 相关的问题。

我尝试过的事情

  • 清洁ROM,擦除数据和Dalvik缓存(一开始可以,但是突然手机死机,当我重新启动时,错误管理不再起作用)

  • 删除所有应用

我错过了什么?我该如何解决这个问题?

4

2 回答 2

0

请参阅http://forum.xda-developers.com/showthread.php?t=1843837,尤其是 #8 后

引用:

我终于弄清楚了“快速强制关闭”应用程序正在做什么来阻止冻结。它做了一些相当简单的事情:它基本上“隐藏”了 /data/log 文件夹,将它移到一边,并用符号链接替换它。然后这也会导致 Wifi 在重新启动后无法连接(不知道为什么)

mv /data/log /data/log_backup
ln -s /dev/null /data/log

要“禁用”修复程序,它只是做相反的事情。

无论如何,这让我认为该解决方案与该文件夹中发生的事情有关。在强制关闭时,该文件夹中发生的一件事是它接收到 dumpstate 命令的输出:

dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_error

因此,我对“冻结而不是强制关闭对话框”问题的解决方案是将一些文件放在 /data/log 文件夹中,其权限使 dumpstate 无法做到这一点。

我发现这个可以解决问题,但我不知道是否有副作用。

如果您想实现这一点,您可以通过多种方式来实现(例如,甚至通过终端仿真器或一些根文件资源管理器)。我附上了一个可以为你做这件事的可闪光拉链。(见 XDA 链接)

除了一些样板代码之外,重要的一点是(在 zip 中的 updater-script 中):

ui_print("Apply fix...");
delete("/data/log/dumpstate_app_error");
delete("/data/log/dumpstate_app_error.txt.gz");
delete("/data/log/dumpstate_app_error.txt.gz.tmp");
package_extract_file("placeholder", "/data/log/dumpstate_app_error");
package_extract_file("placeholder", "/data/log/dumpstate_app_error.txt.gz");
package_extract_file("placeholder", "/data/log/dumpstate_app_error.txt.gz.tmp");
set_perm(0, 0, 0400, "/data/log/dumpstate_app_error");
set_perm(0, 0, 0400, "/data/log/dumpstate_app_error.txt.gz");
set_perm(0, 0, 0400, "/data/log/dumpstate_app_error.txt.gz.tmp");
于 2012-08-20T23:31:57.630 回答
0

通过将手机更新到最新的可用 android 版本,我解决了这个问题。

于 2014-01-01T13:47:28.690 回答