所以我正在创建一个请求超级用户权限的应用程序,然后单击按钮将重新启动手机。这个命令在 [修改版本] android 2.2 api等级8中工作正常但是当试图使用 [修改版本] 姜饼2.3 api等级9或10时不会打开超级用户弹出并且不会重启电话有什么原因吗?这是我一直使用的代码2.2
public void onClick(View v) {
switch (v.getId()) {
case R.id.reboot_button:
try {
Runtime.getRuntime().exec(new String[]{"/system/bin/su","-c","reboot now"});
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:1)
用于获得超级用户访问权限的特定黑客在2.2级及以下( rageagainstthecage 是我相信常用的名称)在Gingerbread中关闭了(这也是我的)。
编辑:@Chris Stratton指出了一些事情,我完全忘了提及它。固件升级通常会消除大多数超级用户漏洞所带来的钩子,例如 rageagainstthecage 。您通常必须在每次固件升级后重新运行授予您su
权限的原始工具。
如果您从未运行过工具来获得su
访问权限,那么我希望您的新固件版本只是缺少su
二进制文件,您可能需要手动将其复制到位。