java -/sys/上怎么写?安卓

标签 java android file-io root

我正在尝试写入“/sys/devices/virtual/timed_output/vibrator/amp”文件。

我可以很好地阅读它,问题是当我尝试写它时。

这是我的代码:

public static void writeValue(String filename, String value) {
    //FileOutputStream fos = null;
    DataOutputStream os = null;
    try {
        /*fos = new FileOutputStream(new File(filename), false);
        fos.write(value.getBytes());
        fos.flush();*/

        Process p;

        p = Runtime.getRuntime().exec("su");
        os = new DataOutputStream(p.getOutputStream());  

       os.writeBytes(value + " > " + filename + "\n");
       os.writeBytes("exit\n");

       Log.w(TAG, value + " >> " + filename);

       os.flush();           
    } catch (IOException e) {
        Log.w(TAG, "Could not write to " + filename);
    } finally {
        if (os != null) {
            try {
                os.close();
            } catch (IOException e) {
                Log.d(TAG, "Could not close " + filename, e);
            }
        }
    }
}

我总是收到来自 Log.w(TAG, "Could not write to "+ filename);

的反馈

我该如何进行呢?我必须使用某些权限吗?是否需要全部重做以匹配 root 访问权限?

最佳答案

普通 SDK 应用程序只能读取系统的该部分。您需要root您的设备,并在 su shell 中执行命令才能在那里写入。

此外,并非所有设备上都存在 amp 文件。

关于java -/sys/上怎么写?安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15692783/

相关文章:

C 倒回来自命令输出的 FILE 指针

Java8 类型通用删除方法签名和 lambda 不起作用

java - 即使应用程序未运行,如何每 10 分钟在后台获取位置信息?

c# - 如何将行写入线程安全的文本文件 - 多线程

java - 从其 Activity 外部定位按钮

java - 无法获取Java中特定索引中的对象

python - 使用python3中的tarfile模块从tar中提取文本文件

java - Jackson 的 mixin 类不能解决问题 : bug or am I doing something wrong?

java - 如何在android中重命名文件

java - 如何优雅地停止java进程?