2017-01-17 10 views
0

Я пытаюсь написать записи sysfs через андроид приложения, используя следующие строки кода:Запись в sysfs записи через приложение для Android Отказано в Android M

String command[]={"/system/bin/sh", 
        "-c", 
        "echo 0 > /sys/module/lge_handle_panic/parameters/gen_modem_panic", 
       }; 
Process p = Runtime.getRuntime().exec(command); 

На установке приложения в/системы/priv-app, он отлично работает и создает модную панику в android L. Но ничего не выполняется в Android M.

Я не уверен, что для Android M требуется определенное разрешение политики SELinux.

+0

Вы проверили, если этот файл существует у всех на Android-M? Вы пытались сделать то же самое вручную с терминала? Вы проверили вывод 'dmesg' после выполнения этой команды? –

+0

@SamProtsenko Да файл существует. Я нашел решение. Нам нужно установить политику SeLinux разрешающей вручную для работы эха в android M. COmmand используется: sub shell su root setenforce 0. – iamcj

ответ

1

Нам нужно установить политику SELinux в разрешающей вручную эхо работать в андроиде М. Команды используется: ADB оболочки су корень setenforce 0

+0

Возможно, это не лучшее решение, так как вы полностью отключите свою безопасность. Было бы лучше написать соответствующее правило SELinux для вашего случая и оставить SELinux в режиме принудительного исполнения. Проверьте вывод 'dmesg', чтобы выяснить, что происходит. Дополнительную информацию о том, как писать правила SELinux, см. В документе [this] (https://source.android.com/security/selinux/validate.html). Хотя этот способ требует изменения изображения rootfs, что может быть неудобно в вашем случае. –

+0

@ СэмПроценко, я работаю над этим :) – iamcj