社区
Android 帖子详情 关于删除data/app下的apk的问题。 tmaccccc 2011-12-28 02:09:28 我写了一个方法,获取了所有已安装软件的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的原因是什么,我可以保证路径是存在的。。。
有没有高手遇到过这样的问题,指点我一下,不甚感激!
...全文
2120 18 打赏 收藏 关于删除data/app下的apk的问题。 我写了一个方法,获取了所有已安装软件的apk文件的路径。得知大多数没移到SD的已安装软件的apk都是在data/app下,这个目录在没有Root权限的时候是不能扫描里面的文件,但可以用列举的方法,把所有data/app下的文件显示出来。。。。。。 下面说重点,我想通过File.delete()来删除data/app下的文件,例如data/app/XXX.apk,这个方法我在三部手机上全部测试可以执行,delete返回true,但这三部手机全Root过。在一部没有Root的手机上delete返回f 复制链接
扫一扫 分享 转发到动态 举报 AI 作业
写回复 配置赞助广告取 消
确 定
用AI写文章 18 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 jiaminglei666 2013-06-28 打赏举报 回复 引用 楼主 tmaccccc 的回复:我写了一个方法,获取了所有已安装软件的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的原因是什么,我可以保证路径是存在的。。。
有没有高手遇到过这样的问题,指点我一下,不甚感激!
请问楼主,我现在也在做这个,为什么我用File.Delete()方法就删除不了data/app下面的apk呢,我的手机也root了。。 tmaccccc 2011-12-29 打赏举报 回复 大家认真看一下我的问题好不好。。。不要回答一些不相关的呀。。。 追风筝的孩子 2011-12-28 打赏举报 回复 把不想被轻易删掉的程序注册为设备管理器 xqhrs232 2011-12-28 打赏举报 回复 觉得有点乱! 胡凯me 2011-12-28 打赏举报 回复 试试adb uninstall com.xxx.xxx(包名),如果是系统预装的AP,一般使用adb shell rm system/app/xxx.apk,通常下载的APK安装的时候是放在data/app目录下,其实和用adb install xxx.apk的效果一样
yyhzpk 2011-12-28 打赏举报 回复
去网上搜一下linux用户权限管理
rwx-rwx-rwx
[Quote=引用 12 楼 tmaccccc 的回复:]
引用 11 楼 yyhzpk 的回复:
不排除有些手机image对/data/app权限做过修改
默认是644,也有可能是其它权限不一样所致
引用 9 楼 tmaccccc 的回复:
引用 3 楼 fff32165 的回复:
那其它2部手机关root和不关root 返回值是一样的吗?
引用 2 楼 tmaccccc 的回复:
引用 1 楼 fff32165 的回复:
……
[/Quote] tmaccccc 2011-12-28 打赏举报 回复 [Quote=引用 11 楼 yyhzpk 的回复:]
不排除有些手机image对/data/app权限做过修改
默认是644,也有可能是其它权限不一样所致
引用 9 楼 tmaccccc 的回复:
引用 3 楼 fff32165 的回复:
那其它2部手机关root和不关root 返回值是一样的吗?
引用 2 楼 tmaccccc 的回复:
引用 1 楼 fff32165 的回复:
。。。
捋捋啊
你有三部已获取root……
[/Quote]
谢谢你的回答,你所说的644权限是指的什么,对这方面我不大了解,能给个相关的介绍内容看一下吗?不甚感激 yyhzpk 2011-12-28 打赏举报 回复 不排除有些手机image对/data/app权限做过修改
默认是644,也有可能是其它权限不一样所致
[Quote=引用 9 楼 tmaccccc 的回复:]
引用 3 楼 fff32165 的回复:
那其它2部手机关root和不关root 返回值是一样的吗?
引用 2 楼 tmaccccc 的回复:
引用 1 楼 fff32165 的回复:
。。。
捋捋啊
你有三部已获取root权限的手机(简称A),一部未获取root权限的手机(简称B),一部关掉root权限的小米(简称M);
你用A和M手机,返回的结果为true;用B手机返回的……
[/Quote] yyhzpk 2011-12-28 打赏举报 回复 如果没有so文件,或者其它特殊的文件,直接拷贝过去就能用
[Quote=引用 4 楼 yuanjian1927322 的回复:]
问下应用程序的apk文件是不是放到/data/app下面就能直接用啦???
安装是怎样一个过程?
[/Quote] tmaccccc 2011-12-28 打赏举报 回复 [Quote=引用 3 楼 fff32165 的回复:]
那其它2部手机关root和不关root 返回值是一样的吗?
引用 2 楼 tmaccccc 的回复:
引用 1 楼 fff32165 的回复:
。。。
捋捋啊
你有三部已获取root权限的手机(简称A),一部未获取root权限的手机(简称B),一部关掉root权限的小米(简称M);
你用A和M手机,返回的结果为true;用B手机返回的结果为false;
你现在问,为什么B手机返……
[/Quote]
现在那两部没在手边,但我想结果应该是一样的吧。 tmaccccc 2011-12-28 打赏举报 回复 [Quote=引用 7 楼 wensefu 的回复:]
引用 4 楼 yuanjian1927322 的回复:
问下应用程序的apk文件是不是放到/data/app下面就能直接用啦???
安装是怎样一个过程?
其实install过程除了加个校验和发送广播比直接拷文件过去没多做什么事。
只要做系统的时候设置下data目录的权限 就可以左右应用apk是否可以删除里面的文件了
[/Quote]
谢谢你的回答,请问大多数手机是有这样的权限还是没有呢。这个和Root有关系吗? wensefu 2011-12-28 打赏举报 回复 [Quote=引用 4 楼 yuanjian1927322 的回复:]
问下应用程序的apk文件是不是放到/data/app下面就能直接用啦???
安装是怎样一个过程?
[/Quote]
其实install过程除了加个校验和发送广播比直接拷文件过去没多做什么事。
只要做系统的时候设置下data目录的权限 就可以左右应用apk是否可以删除里面的文件了 念茜 2011-12-28 打赏举报 回复 [Quote=引用 4 楼 yuanjian1927322 的回复:]
问下应用程序的apk文件是不是放到/data/app下面就能直接用啦???
安装是怎样一个过程?
[/Quote]
不是的,必须执行install 过程才可以使用 念茜 2011-12-28 打赏举报 回复 [Quote=引用 4 楼 yuanjian1927322 的回复:]
问下应用程序的apk文件是不是放到/data/app下面就能直接用啦???
安装是怎样一个过程?
[/Quote]
不是的,必须执行install 过程才可以使用 卡诺球 2011-12-28 打赏举报 回复 问下应用程序的apk文件是不是放到/data/app下面就能直接用啦???
安装是怎样一个过程? 六百万 2011-12-28 打赏举报 回复 那其它2部手机关root和不关root 返回值是一样的吗?
[Quote=引用 2 楼 tmaccccc 的回复:]
引用 1 楼 fff32165 的回复:
。。。
捋捋啊
你有三部已获取root权限的手机(简称A),一部未获取root权限的手机(简称B),一部关掉root权限的小米(简称M);
你用A和M手机,返回的结果为true;用B手机返回的结果为false;
你现在问,为什么B手机返回结果为false? () 对吧;
我弱弱的想问下,为什么B手机不返回false?为什么M手机会返回t……
[/Quote] tmaccccc 2011-12-28 打赏举报 回复 [Quote=引用 1 楼 fff32165 的回复:]
。。。
捋捋啊
你有三部已获取root权限的手机(简称A),一部未获取root权限的手机(简称B),一部关掉root权限的小米(简称M);
你用A和M手机,返回的结果为true;用B手机返回的结果为false;
你现在问,为什么B手机返回结果为false? () 对吧;
我弱弱的想问下,为什么B手机不返回false?为什么M手机会返回true;而不是false呢?
[/Quote]
小米就是三部root中间一部。。。就是小米不管关不关Root都返回true。。。你的意思是想删除这个路径,得要root是吗? 六百万 2011-12-28 打赏举报 回复 。。。
捋捋啊
你有三部已获取root权限的手机(简称A),一部未获取root权限的手机(简称B),一部关掉root权限的小米(简称M);
你用A和M手机,返回的结果为true;用B手机返回的结果为false;
你现在问,为什么B手机返回结果为false? () 对吧;
我弱弱的想问下,为什么B手机不返回false?为什么M手机会返回true;而不是false呢? 获取已安装应用在/data/app目录下的apk安装包,并分享 琢磨了半天,说可以用Root Explorer在/data/app目录下找的安装包,可是他的手机又没有ROOT。好吧,这个想法就这么来了,而且实现起来也很简单,两下功夫就做完了。 原文:... 批量提取 data/app目录中的apk文件 我的手机是user版本,data/app目录不能通过adb shell ls读取。 $ adb shell ls /data/...但是可以通过其他方式获取 data/app目录中的apk路径。 ★ 获取 data/app中 apk的路径 PackageManager pm = getPackageM... system/app和data/app说明 把DATA/APP的APK移动到SYSTEM/APP下,或直接删除DATA/APP的APK,直接删除SYSTEM/APP下APK文件,不能增加可用ROM空间;切记:勿乱移、乱删!注:卸载系统文件也就是(system/app)目录下的文件并不会增加系统空间。... DexPathList[[zip file “/data/app/XXXX-1/base.apk“],nativeLibraryDirectories=[/data/app/XXXX-1/lib/x8 Didn’t find class “com.zjkj.wkapp.App” on path: DexPathList[[zip file “/data/app/XXXX-1/base.apk”],nativeLibraryDirectories=[/data/app/XXXX-1/lib/x86, /vendor/lib, /system/lib]] 我的错误提示的是... Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT.SF indicates... 12-26 11:08:44.809 1501-1535/system_process E/PackageInstaller: Commit of session 201020547 failed: Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT...
Android
80,472
社区成员
91,384
社区内容
发帖 与我相关 我的任务 Android 移动平台 Android 复制链接
扫一扫 分享 确定 社区描述 移动平台 Android androidandroid-studioandroidx 技术论坛(原bbs) 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章