在需要从手机系统里获取apk的情况下,从Android手机的系统中拿出来文件,操作如下
1、基础
cmd进入命令提示符界面
adb shell //进入shell连接手机
shell@hammerhead:/ $ su //命令行获取管理员root权限
root@hammerhead:/ # cd data/app //进入手机里的data/app目录
127|root@hammerhead:/data/app # ls -al //查看data/app目录下的所有文件(包括隐藏文件)
//(这些即为data/app目录下的文件)
drwxrwxrwx system system 2021-03-18 17:55 com.anjuke.android.app-1
drwxrwxrwx system system 2022-01-05 10:57 com.example.test001-1
drwxr-xr-x system system 2021-01-27 16:49 formatfa.xposed.Fdex2-1
2|root@hammerhead:/data/app # cd com.example.test001-1 //进入com.example.test001-1文件夹
root@hammerhead:/data/app/com.example.test001-1 # ls -al //查看com.example.test001-1文件夹里的文件,看到base.apk文件
-rwxrwxrwx system system 1649032 2022-01-05 10:57 base.apk
drwxr-xr-x system system 2022-01-05 10:57 lib
drwxrwx–x system install 2022-01-05 10:57 oat
root@hammerhead:/data/app/com.example.test001-1 # chmod 777 base.apk //给base.apk最高权限,以便进一步对它进行操作
//chmod 777 *:给该目录下所有apk最高权限
再开一个cmd命令提示符
adb pull data/app/com.example.test001-1/base.apk E:/1/ //adb pull:从手机系统中取出,E:/1 为你想把取出的文件放入电脑系统的位置
data/app/com.example.test001-1/base.apk: 1 file pulled. 1.9 MB/s (1649032 bytes in 0.848s)
效果图如下:
下载完成
2、获取Android底层系统system中的文件
那么更深层次的怎么拿?在Android底层系统system中的文件或apk怎么拿出来呢?来看一下:
这里我们首先主要记一下这么几个关于Android系统的点:
1) 任何Android系统都有一个路径:/data/local/tmp/这个路径可以看成是设置给本地的一个文件夹路径, 该目录既是Android通用目录。
2) /data/app/一般情况下我们 安装的apk都在该路径下。
3) /system/app/这个路径一般情况下是指 Android底层系统的apk路径,如果手机没有root权限将不能进入并查看该目录下的内容。
cp /system/app/MiuiSuperMarke/MiuiSuperMarket.apk /data/local/tmp/
把/system/app/MiuiSuperMarke/目录下的MiuiSuperMarket.apk文件,复制到/data/local/tmp/文件夹下
cp:复制命令 Tab键有自动补全功能
这里就实现了从系统获取想要的apk了,那么我们把文件cp到/data/local/tmp/目录下了,该目录既是Android通用目录
该目录下文件要是多了我们怎么处理呢?有两种办法:
1)码号排序:也就是说给他改名字,便于调取。
root@cancro:/data/local/tmp # rename MiuiSuperMarket.apk aaa.apk //把MiuiSuperMarket.apk重命名为aaa.apk
2)直接删除:即在该目录下删除该文件
root@hammerhead:/data/local/tmp # rm aaa.apk //把aaa.apk文件删除
可能出现的问题1:
解决方法:下载ADB包,放到命令提示符的目录下,即可
完成截图:
问题2:
su:not found
……换个手机(–),测试机不在调试模式,需要重新刷机。
没有回复内容