我在android平台,使用c语言中的chmod函数来修改设备文件的权限,如下:
chmod("/dev/2-1.2",777);
总是返回Operation not permitted,并且在此之间我也su - root了,怎么还不行呢?在adb shell下直接执行命令是可以的
chmod("/dev/2-1.2",777);
总是返回Operation not permitted,并且在此之间我也su - root了,怎么还不行呢?在adb shell下直接执行命令是可以的
解决方案 »
- 如何在Android源码层修改焦点边框的默认显示颜色
- 能主动让android主线程等待1s吗?
- 音频合成问题
- 请教:TabHost和TabWidget
- eclipse导入android程序,不能运行????????????????????????????
- php 转到android 可以不?
- 请教Android JNI中特殊的数据类型的使用方法,网上绝对找不到的。急急急!
- 电脑服务端和手机客户端UDP通信
- TAG名字,用this.getClass().getSimpleName()归一化取得,有弊端吗?
- 虚拟机上有的项目可以运行,有的运行不了,求助
- 如何用3.2创建一个手机模拟器?
- 菜鸟问题,在AndroidManifest.xml中添加Activity不成功。
之前有人提过,已经有两种解决方案了,你去找找。
http://topic.csdn.net/u/20110707/11/b90dde74-bfe6-4a68-a6c9-de7fe407f319.html?8694
android设备显示 unknown已获取最高权限,
和在shell下执行su一样的显示,说明程序已经获得了root权限了吧?但执行chmod总是失败
这篇帖子我已经看了,说是要提升应用程序的root权限,需要编译android源码,这也太麻烦了吧?对于应用程序开发者,就没有权限操作别的文件了?
public static boolean runRootCommand(String command) {
Process process = null;
DataOutputStream os = null;
try {
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command+"\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();
} catch (Exception e) {
Log.d("*** DEBUG ***", "Unexpected error - Here is what I know: "+e.getMessage());
return false;
}
finally {
try {
if (os != null) {
os.close();
}
process.destroy();
} catch (Exception e) {
// nothing
}
}
return true;
}
网址:http://lazyhack.net/writing-an-android-root-application/
继续探索用c如何实现