关于 ADB 的一些初级使用

ADB 的全称是 Android Debug Bridge,就是起到调试桥的作用。
因为朋友看中了一款游戏,想要提取下更新后的资源,但是找不到这个游戏在手机中的文件夹位置。所以让我看下。
从结论来讲,文件夹位置找到了,并且也导出了这个文件夹的内容,但是更新文件的位置还是不清楚。。。也许这个更新直接合并到文件夹内了?并且只是单纯的替换资源?这个需要以后再研究下。


用到的工具:

  1. jadx-1.3.3:这个主要是解包看下包名
  2. mumu模拟器:安装 apk,因为模拟器默认就是 root 的貌似
  3. Android Studio:主要是为了用 adb (虽然也可以直接用电脑的 cmd 来启动 adb,不过我还是习惯通过 Android Studio 使用)
  4. apktool:解包 apk 资源用

1、首先想到是把游戏考到手机里找一下安装目录,一般游戏的更新路径都是在 /Android/data 里面,比如碧蓝航线、fgo 啥的,但是这个游戏就是找不到。。。所以需要查找下它的具体安装路径。

adb shell pm path 包名(com.xxx.xxx)

使用这个命令,可以查询到连接的安卓设备里对应包名的安装路径。
一开始我是用自己的手机装了下并且查询,也确实查到了,但是当导出的时候遇到了问题,就是需要手机 root 才可以,真机必须 root 后才能使用 adb 的 root 的指令,而我的手机是黑鲨,查了下资料这个手机 root 貌似挺麻烦,所以就没搞。

2、想了下以后,想到可以尝试下用模拟器来搞,结果还真可行。使用的就是mumu模拟器。

adb connect 127.0.0.1:7555

使用以上命令,就可以让 adb 连接到 mumu 模拟器。之后同样的方法查到了安装路径,跟实机里的一样。
这里还用到了一些命令:

// 进入 adb
adb shell

// 进入指定路径
// 如果使用 cd / 则是返回最外层路径
cd /data/app

// 查看当前路径下的详细信息
ls -l

3、之后就是导出了

// 这里前面的 /xx/xx/xx 是安卓系统中的要导出的文件的路径信息
// 后面的 F:\xx 是要导出到电脑中的位置,可以自己改
adb pull /xx/xx/xx F:\xx

以下为其他 adb 相关使用

1、 查看已连接的设备:

adb devices

2、将 logcat 的日志输出到指定文件中(参考文章

// 首先执行清空命令,将之前的 logcat 日志信息清空
adb logcat -c
// 将 logcat 信息打印到指定位置的文件中,该位置需要是绝对路径
adb logcat > D:/logcat.txt
// 打印结束后使用 Ctrl + C 退出

如果需要输出特定 Tag 的日志,需要按照如下方法
"-s"选项 : 只显示指定标签的日志

// 其中 "Tag" 替换成要显示的 Tag 内容,引号是必须要带的
adb logcat -s "Tag" > D:/logcat.txt
// 例如,想输出 Tag = BannerTag 的日志
adb logcat -s "BannerTag" > D:/logcat.txt
// 想同时输出多个 Tag,只需要将相应的 Tag 使用引号加入即可
adb logcat -s "BannerTag" "RewardTag" > D:/logcat.txt

以上的日志输出方式只能输出特定 Tag 的日志,但是有时需要输出带有某个关键词的日志,此时,无法使用上述方式。

adb logcat | findstr "TAG" > D:/logcat.txt

以上指令可以输出所有带有 TAG 内容的标签的日志,例如:BannerTAGRewardTAG 等,可以不带引号。
需要注意的是:在 windows 系统中使用 findstr,在 linux 系统中需要将 findstr 替换成 grep
PS:同时需要注意的是,最好是在 cmd 中使用此指令,在 Android Studio 中可能会由于配置还是什么原因导致无法输出信息。

3、使用 adb 安装 apk

adb -s (设备编号) install (apk 的绝对路径)

其中,设备编号是使用 adb devices 获取的。
需要注意的是,apk 的绝对路径中不能含有空格,例如一个文件夹名为 Apk Files 在安装过程中会显示无法找到 Files 文件夹,应该将该文件夹命名为 ApkFilesApk_Files

C:\Users\Administrator>adb devices
List of devices attached
TPAKDXR1U7      device

上面代码中的 TPAKDXR1U7 就是该设备的设备编号,假设需要将 D 盘根目录的一个叫 Test.apk 的应用安装到该设备上,则代码如下所示:

adb -s TPAKDXR1U7 install D:\Test.apk

猜你喜欢

转载自blog.csdn.net/EverNess010/article/details/126059518