Android 根应用程序不工作 : Can't remove file from terminal or Java

标签 android root file-permissions readonly roottools

我正在为 clearing browser localstore 开发一个简单的根应用程序,并可能在以后添加内置应用程序无法实现的其他功能。我正在使用 roottools ,root 似乎可以正常工作,但它不会正确删除目录:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        RootTools.debugMode = true;

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.buttonClearBrowser).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                if (RootTools.isAccessGiven()) {
                    RootTools.remount("/data/data/com.android.browser/app_databases/", "RW");
                    Command command = new Command(0,"rm -rf /data/data/com.android.browser/app_databases/") {
                        @Override
                        public void output(int arg0, String arg1) {
                            System.out.println(arg1);
                        }
                    };
                    try {
                        RootTools.getShell(true).add(command).waitForFinish();
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (TimeoutException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

这应该会清除 Android 中的 HTML5 本地存储(您无法从浏览器应用程序中清除)。但是它只给出错误信息:

11-05 21:40:06.650: D/RootTools v2.4(22778): Remounting /data as rw
11-05 21:40:06.650: I/RootTools v2.4(22778): [nodev, relatime, nosuid, rw] AND rw
11-05 21:40:06.650: D/RootTools v2.4(22778): [nodev, relatime, nosuid, rw]
11-05 21:40:06.650: D/RootTools v2.4(22778): Using Existing Root Shell!
11-05 21:40:06.650: D/RootTools v2.4(22778): Sending command(s): rm -rf /data/data/com.android.browser/app_databases/
11-05 21:40:06.660: I/System.out(22778): rm failed for -rf, Read-only file system
11-05 21:40:06.660: D/RootTools v2.4(22778): Command 0finished.

顺便说一下,我在 adb shell 上遇到了同样的错误:

$ su
su
# rm -rf /data/data/com.android.browser/app_databases/http_m.bing.com_0
rm -rf /data/data/com.android.browser/app_databases/http_m.bing.com_0
rm failed for -rf, Read-only file system

/data 不应该是只读的,因为那是应用程序设置所在的位置。手机有问题吗?如果重要的话,这是 Android 2.2.2。具有讽刺意味的是,我可以在根模式下使用 Ghost Commander 浏览和删除文件。

最佳答案

我相信 -f 选项不被 android 中的 rm 命令接受。

要确认它,请从命令行尝试不使用 -f 的相同命令:

rm -r /data/data/com.android.browser/app_databases/http_m.bing.com_0

问候。

关于Android 根应用程序不工作 : Can't remove file from terminal or Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13245140/

相关文章:

linux - 除非在 debian 中以 root 身份运行,否则无法运行 vnstat

android - Android 应用程序可以将自身复制到 Root设备上的系统目录吗?

linux - 验证 GTK 应用以 root 权限运行

php - chgrp : Operation not permitted?

android SDK 和 AVD 管理器卡住了

Android Studio 不创建新项目

android - 带有水平 ScrollView 的图库

android - SQLiteOpenHelper 错误

linux - 强制文件夹中的文件创建具有固定组 :user

node.js - 限制 Docker 容器的文件访问