关于删除data/app下的apk的问题。
我写了一个方法,获取了所有已安装软件的apk文件的路径。得知大多数没移到SD的已安装软件的apk都是在data/app下,这个目录在没有Root权限的时候是不能扫描里面的文件,但可以用列举的方法,把所有data/app下的文件显示出来。。。。。。下面说重点,我想通过File.delete()来删除data/app下的文件,例如data/app/XXX.apk,这个方法我在三部手机上全部测试可以执行,delete返回true,但这三部手机全Root过。在一部没有Root的手机上delete返回false,说明不能删。。。
若是因为Root的关系,我觉得即便是root的手机也要在应用中申请权限才能使用superuser的功能,但我没有申请,就能返回true。。。
另外,有一部小米,它可以手动管理Root权限,我把Root关掉了,就是说所有程序都无法获取Root权限了,手机就和没Root一样,这是我再delete,还是返回true,可以删除。。。
那我就纳闷了,在那部没Root的手机上返回false的原因是什么,我可以保证路径是存在的。。。
有没有高手遇到过这样的问题,指点我一下,不甚感激! --------------------编程问答-------------------- 。。。
捋捋啊
你有三部已获取root权限的手机(简称A),一部未获取root权限的手机(简称B),一部关掉root权限的小米(简称M);
你用A和M手机,返回的结果为true;用B手机返回的结果为false;
你现在问,为什么B手机返回结果为false? () 对吧;
我弱弱的想问下,为什么B手机不返回false?为什么M手机会返回true;而不是false呢? --------------------编程问答--------------------
小米就是三部root中间一部。。。就是小米不管关不关Root都返回true。。。你的意思是想删除这个路径,得要root是吗? --------------------编程问答-------------------- 那其它2部手机关root和不关root 返回值是一样的吗?
--------------------编程问答-------------------- 问下应用程序的apk文件是不是放到/data/app下面就能直接用啦???
安装是怎样一个过程? --------------------编程问答--------------------
不是的,必须执行install 过程才可以使用 --------------------编程问答--------------------
不是的,必须执行install 过程才可以使用 --------------------编程问答--------------------
其实install过程除了加个校验和发送广播比直接拷文件过去没多做什么事。
只要做系统的时候设置下data目录的权限 就可以左右应用apk是否可以删除里面的文件了 --------------------编程问答--------------------
谢谢你的回答,请问大多数手机是有这样的权限还是没有呢。这个和Root有关系吗? --------------------编程问答--------------------
现在那两部没在手边,但我想结果应该是一样的吧。 --------------------编程问答-------------------- 如果没有so文件,或者其它特殊的文件,直接拷贝过去就能用
--------------------编程问答-------------------- 不排除有些手机image对/data/app权限做过修改
默认是644,也有可能是其它权限不一样所致
--------------------编程问答--------------------
谢谢你的回答,你所说的644权限是指的什么,对这方面我不大了解,能给个相关的介绍内容看一下吗?不甚感激 --------------------编程问答--------------------
去网上搜一下linux用户权限管理
rwx-rwx-rwx
--------------------编程问答-------------------- 试试adb uninstall com.xxx.xxx(包名),如果是系统预装的AP,一般使用adb shell rm system/app/xxx.apk,通常下载的APK安装的时候是放在data/app目录下,其实和用adb install xxx.apk的效果一样
--------------------编程问答-------------------- 觉得有点乱! --------------------编程问答-------------------- 把不想被轻易删掉的程序注册为设备管理器 --------------------编程问答-------------------- 大家认真看一下我的问题好不好。。。不要回答一些不相关的呀。。。 --------------------编程问答--------------------
请问楼主,我现在也在做这个,为什么我用File.Delete()方法就删除不了data/app下面的apk呢,我的手机也root了。。
补充:移动开发 , Android