【问题标题】:My Android App can only read the first line of file under directory /proc我的 Android 应用程序只能读取目录 /proc 下的第一行文件
【发布时间】:2017-02-17 03:10:11
【问题描述】:

作为主题,我使用下面的行来读取proc文件/proc/net/xt_qtaguid/stats的内容,只有第一行被读入我的程序。

List<String> stdout = Shell.SH.run("cat /proc/net/xt_qtaguid/stats");

我还尝试了一些传统的方法来读取文件,但它们无法正常工作。但是,当我在 Shell 中运行命令run-as my_app_name "cat /proc/net/xt_qtaguid/stats 时,可以显示整个文件。这个问题的任何线索?

顺便说一句,App被授予“使用权限”权限,我的手机是安卓6.0.1的一加3T,系统已经root了。

【问题讨论】:

    标签: java android linux


    【解决方案1】:

    找到答案^_^

    授予APP“READ_INTERNAL_STORAGE”权限,在AndroidManifest.xml中添加一行:

     <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
    

    【讨论】:

      【解决方案2】:

      你是说提供的第一行代码不起作用?

      当你提到命令术语有效但行代码无效时,如果这是你想要实现的目标,你可以尝试以下操作。

      private static final String TAG = "Yo! I got an error";
      
         public static List<Process> getMyInfo() {
              List<Process> myData = new ArrayList<>();
              List<String> stdout = Shell.SH.run("cat /proc/net/xt_qtaguid/stats");
              for (String line : stdout) {
                  try {
                      myData.add(new Process(line));
                  } catch (Exception e) {
                      Log.d(TAG, "This line ain't working" + line);
                  }
              }
              return muData;
          }
      

      【讨论】:

      • 是的,第一行代码不行。你的代码仍然无法在我的手机上运行..
      猜你喜欢
      • 2012-03-23
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 2020-08-13
      • 2010-12-26
      • 2016-08-03
      • 1970-01-01
      相关资源
      最近更新 更多