从Android应用程序执行Shell命令

时间:2015-05-25 10:02:40

标签: android

我是java编程和android开发的新手。我正在开发一个专门执行shell命令的应用程序:

su -c cat /sys/kernel/debug/asoc/*-snd-card*/*_codec*/codec_reg

我为此目的使用以下行:

Process process = Runtime.getRuntime().exec(new String[]{"su", "-c", 
         "cat /sys/kernel/debug/asoc/*-snd-card*/*_codec*/codec_reg \n"}); 

我能够在Android 4.4.4版本上运行得很好,但在Lollipop版本上却没有。显然,似乎存在一些root访问问题。

有没有办法在Lollipop版本上运行此命令?

1 个答案:

答案 0 :(得分:0)

LibSuperuser是实现所需内容的好工具。方法托管here解释了为什么不应该使用getRuntime()。exec(),而是使用libsuperuser。

享受: - )