- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试以编程方式设置已 root 的手机上的最小/最大时钟速度。遵循针对 this question 提出的建议,我找到了some documentation这建议我将数据写入:
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
和
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
我已经有了
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
在我的 list 中。我也可以成功读取这两个文件。当我尝试写入文件时,出现打开失败:EACCES(权限被拒绝)
。所以我尝试...
Runtime.getRuntime().exec("su -c \"chmod 777 /sys/devices/system/cpu/cpu0/cpufreq/*\"");
...执行时没有错误,但这没有什么区别。当我执行这两行中的第二行时发生错误:
File file = new File("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
我不确定接下来可以尝试什么。
编辑:按照 mrPjer 的建议,我运行了 adb shell。我输入 su
并导航到 /sys/devices/system/cpu/cpu0/cpufreq
。然后我输入了
chmod 777scaling_max_freq
并通过键入
确认权限已被接受ls -lscaling_max_freq
果然它被列为-rwxrwxrwx
。然后我输入了
echo 124200>scaling_max_freq
然后
猫scaling_max_freq
遗憾的是,报告称该文件未更改为“1512000”。
编辑:这个问题现在已经偏离了原来的标题,所以我将把最后的编辑发布为 a new question altogether .
最佳答案
不要将系统文件的权限更改为全局可读/可写(您确实不应该这样做),而是尝试使用 root 访问权限直接写入文件。
您可以通过在 su 调用中使用 echo 而不是 chmod 轻松地做到这一点。例如
Runtime.getRuntime().exec("su -c \"echo 1234 > /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq\"");
exec 调用还应该返回一个 Process 对象,您可以在该对象上调用 waitFor(),这将为您提供调用的返回代码。如果该值与零不同,则表示出现问题。
最后,确认您确实获得了 root 访问权限 - 在执行 su 请求时,是否会弹出一个对话框要求您允许该操作?
此外,由于您正在编写启用 root 功能的应用程序,请查看 RootTools 库:https://code.google.com/p/roottools/wiki/Usage .
关于android - 写入cpu0/cpufreq/cpuinfo_min_freq : open failed: EACCES (Permission denied),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26911026/
#!/bin/bash NAME="trueguild" # Name of the applica$ DJANGOD
我在 StackOverflow 和其他一些网站上阅读了一些答案,但似乎没有一个能解决我遇到的问题。 我正在通过终端安装 AppGyver 附加组件。出现以下错误: BradMacBookPro:Sp
我正在尝试读取一个csv文件并将其索引为 flex 文件。 Logstash给出此错误: [2020-03-15T14:43:02,424][ERROR][logstash.javapipeline
我的 friend 给了我一个带有 dockerfile 的项目,这似乎对他来说工作得很好,但我得到了一个权限错误。 FROM node:alpine RUN mkdir -p /usr/src/no
我的 friend 给了我一个带有 dockerfile 的项目,这似乎对他来说工作得很好,但我得到了一个权限错误。 FROM node:alpine RUN mkdir -p /usr/src/no
我正在尝试设置 nativescript 开发环境。我按照官方文档中描述的步骤进行操作。 Link 之后,我通过使用创建了一个新项目 tns create my-first-app --templat
我想将数据写入 SD 卡,但收到以下错误:打开失败:EACCES(权限被拒绝)。我正在开发的Android版本是jelly bean(4.3)。我还在 list 文件中授予了许可。 这是我的代码:
我已经安装了一个外部 SD 卡 (7.9GB)。以下是我用来将原始音频文件从我的项目传输到 SD 卡的代码。我正在使用 JellyBean 4.2 版本。我可以使用 fileManager 应用程序来
我试图将一些字符串保存到 SD 卡。但它抛出了这个异常 open failed EACCES (Permission denied)。我在设备(asus zenfone 5)上对此进行了测试。我已经在
我正在尝试运行此命令 ionic build android 但它给了我这个错误 谁能告诉我我做错了什么。我在应用程序文件夹 sudo chmod -R a+rwx/appfolder 上运行了以下权
我有一个照片编辑 android 应用程序,用户可以选择结果照片的输出目录。问题是谷歌对 KITKAT 版本的 sdcard 写入权限进行了更改,而具有 Android KITKAT 版本的设备将不允
我试图从一个特权进程创建一个POSIX消息队列(等待以后读取),然后从一个非特权进程打开这个消息队列(发送消息),后面的mq_open()返回:EACCES。 如果创建进程和打开进程都是特权进程或都是
为 targetSdkVersion v29 构建时,我无法访问存储。 这是我的gradle配置: compileSdkVersion 29 buildToolsVersion "29
每当我使用 ionic 时 platform add [platformname]它给了我这个错误 Error: spawn EACCES at exports._errnoException (ut
我无法使用命令 yarn install 启动我的项目。获取错误: error /Users/lera/Desktop/beam-web/node_modules/sharp: Failed to a
我通常在 c9 上编码,我试图在本地环境中工作,我正在尝试一个非常愚蠢的应用程序,但我收到错误。 应用程序: //APP IMPORTS var express = require('expre
这个问题已经有答案了: FileNotFoundException: /storage/emulated/0/Android (2 个回答) java.io.FileNotFoundException
我正在开发一个应用程序,我想在其中仅从 SD 卡中的互联网下载 PDF 文件。 我正在使用 android kitkat (4.4.4)。下载文件时出现错误提示 java.io.FileNotFoun
我已经通过 npm 升级了 cordova,并且我必须在 OS X 上通过 sudo 以 root 身份运行命令 现在,当我运行“cordova build android -verbose”时,我得
尽管我在 list 文件中添加了以下内容: 我仍然收到以下错误: 07-09 13:26:18.650: E/Trace(10542): error opening trace file: No
我是一名优秀的程序员,十分优秀!