см. http://forum.xda-developers.com/showthread.php?t=1843837 , особенно сообщение №8
цитирую:
Наконец-то я понял, что делает приложение «Fast Force Close», чтобы остановить зависание. Он делает что-то довольно простое: он в основном «скрывает» папку /data/log, перемещая ее в сторону и заменяя символической ссылкой. И это также приводит к тому, что Wi-Fi не подключается после перезагрузки (не знаю почему)
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 не может выполнять свою работу.
Я нашел это, чтобы решить проблему, но я не знаю, есть ли побочные эффекты.
Если вы хотите реализовать это, вы можете сделать это разными способами (например, даже через эмулятор терминала или, возможно, какой-нибудь корневой файловый менеджер). Я прилагаю flashable почтовый индекс, который сделает это для вас. (см. ссылку XDA)
Помимо некоторого стандартного кода, важным является следующее (в сценарии обновления в zip):
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");
person
fred_be9300
schedule
20.08.2012