Android 我可以从其他应用/数据文件夹复制文件吗?

Android 我可以从其他应用/数据文件夹复制文件吗?,android,Android,我不能复制这个。我该怎么办?我向ext.storage添加了写入权限 Process process = Runtime.getRuntime().exec("su"); DataOutputStream os = new DataOutputStream(process.getOutputStream()); os.writeBytes("mount -o remount rw /data"); os.writeBytes("chmod 777

我不能复制这个。我该怎么办?我向ext.storage添加了写入权限

Process process = Runtime.getRuntime().exec("su");

        DataOutputStream os = new DataOutputStream(process.getOutputStream());
        os.writeBytes("mount -o remount rw /data");
        os.writeBytes("chmod 777 /data/data/com.a.aas/a.jpg");
        os.writeBytes("dd if=/data/data/com.a.aas/a.jpg of=mnt/sdcard/b.jpg");

也不起作用。。但终端仿真器可以做到这一点。请帮帮我

由于其他应用程序数据受到保护,因此无法访问此数据

关于ext.storage,您所指的权限是访问不包含其他应用程序的/data/的/sdcard/目录

如果要在应用程序之间共享数据,应使用ContentProvider API

您可以在此处阅读有关Android应用程序数据安全的更多信息:

默认情况下,保存到内部存储器中的文件是用户的私有文件 应用程序和其他应用程序无法访问它们( 用户)。当用户卸载应用程序时,这些文件将被删除 删除

/数据/不在SD卡上,因此不会受到元数据中ext.storage权限标志的影响。

使用

        os.writeBytes("cat /data/data/com.a.aas/a.jpg > mnt/sdcard/b.jpg");


我的手机坏了!我可以通过上述代码从adb和终端模拟器访问它们!但不是通过应用程序。我已经编辑了我的答案,为我的意思提供了更详细的解释。这是标准的Linux文件系统安全性,用于保护用户免受恶意应用程序的攻击。请不要在我的权限标签上过于复杂。这是关于os.writeBytes(“dd if=/data/data/com.a.aas/a.jpg of=mnt/sdcard/b.jpg”)。。谢谢你的回答!你真的需要更改权限和挂载东西吗?我以前不必这样做。/mnt只是漏打。而且我的bin文件夹中没有cp。我必须更改文件权限才能访问根目录中的数据。谢谢你的回答。
       p = Runtime.getRuntime().exec("su -c cp /data/data/com.a.aas/a.jpg /mnt/sdcard/b.jpg");
       p.waitFor();
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    String s=Environment.getExternalStorageDirectory().toString();

    p = Runtime.getRuntime().exec("su -c cp /data/data/com.a.aas/a.jpg "+ s +"/b.jpg");

    p.waitFor(); // it is good practice to wait