我正在尝试在 android 日志中打印或写入受保护的文件/data/data/com.package/file [英] I am trying to print or write protected file /data/data/com.package/file in android logs

查看:69
本文介绍了我正在尝试在 android 日志中打印或写入受保护的文件/data/data/com.package/file的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试过了

File f = new File("/data/data/mypackge/test");
            f.setReadable(true);

Log.d("TEST", MainActivity.getFileContents(f));
        } catch (Exception e) {
            e.printStackTrace();
            finish();

但它给出了错误

java.io.FileNotFoundException: /data/data/mypackage/test: open failed: EACCES (Permission denied)
03-16 00:53:19.897  4231  4231 W System.err:    at libcore.io.IoBridge.open(IoBridge.java:452)
03-16 00:53:19.897  4231  4231 W System.err:    at java.io.FileInputStream.<init>(FileInputStream.java:76)
03-16 00:53:19.897  4231  4231 W System.err:    at com.mypackage.MainActivity.getFileContents(MainActivity.java:58)
03-16 00:53:19.897  4231  4231 W System.err:    at com.mypackage.MainActivity.onCreate(MainActivity.java:50)
03-16 00:53:19.897  4231  4231 W System.err:    at android.app.Activity.performCreate(Activity.java:6237)
03-16 00:53:19.897  4231  4231 W System.err:    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
03-16 00:53:19.897  4231  4231 W System.err:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
03-16 00:53:19.897  4231  4231 W System.err:    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
03-16 00:53:19.897  4231  4231 W System.err:    at android.app.ActivityThread.-wrap11(ActivityThread.java)
03-16 00:53:19.897  4231  4231 W System.err:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
03-16 00:53:19.897  4231  4231 W System.err:    at android.os.Handler.dispatchMessage(Handler.java:102)
03-16 00:53:19.897  4231  4231 W System.err:    at android.os.Looper.loop(Looper.java:148)
03-16 00:53:19.897  4231  4231 W System.err:    at android.app.ActivityThread.main(ActivityThread.java:5417)
03-16 00:53:19.897  4231  4231 W System.err:    at java.lang.reflect.Method.invoke(Native Method)
03-16 00:53:19.897  4231  4231 W System.err:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
03-16 00:53:19.897  4231  4231 W System.err:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
03-16 00:53:19.897  4231  4231 W System.err: Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
03-16 00:53:19.897  4231  4231 W System.err:    at libcore.io.Posix.open(Native Method)
03-16 00:53:19.897  4231  4231 W System.err:    at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
03-16 00:53:19.897  4231  4231 W System.err:    at libcore.io.IoBridge.open(IoBridge.java:438)
03-16 00:53:19.897  4231  4231 W System.err:    ... 15 more

我尝试了我的代码中的大部分更改,但无法得到任何人对此线程的解决方案答案欢迎任何Android版本的答案从android 5.1到9我的应用程序必须在我的应用程序目录/数据中写入一个文件中央日志中的/data/myapp/file 请帮助任何人了解这一点.

I tried most of changes in my code but can't get that please any one have solution answer to this thread any android version answer are welcome from android 5.1 to 9 my app has to write a file inside my app directory /data/data/myapp/file in central logs please help any one know this.

推荐答案

你需要做两件事,首先,检查 f.exists()if(!f.exists()) return;

There are 2 things you need to do, first, check for f.exists() if(!f.exists()) return;

然后,您需要使用 new File(getExternalFilesDir(null), "path-to-your-file");

这应该可以安全地创建文件链接.

This should safely create the link to the file.

编辑

如果你想要数据目录,使用getInternalFilesDir()

If you want the data directory, use getInternalFilesDir()

这篇关于我正在尝试在 android 日志中打印或写入受保护的文件/data/data/com.package/file的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆