设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 18162|回复: 0

adb懒人工具(支持所有桌面端)

[复制链接]

1

主题

0

回帖

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-2-12 12:54:53 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
MobileTool

最近没事学习了一波flutter,移动端没想到写啥。就写了一个桌面端应用。也是之前项目的一个衍生。之前用c#写过一个使用adb操作Android手机的windows应用,主要就是为了简化操作。现在把这个功能转移到所有桌面应用来,并且修复之前的一些遗留的BUG。
如果有其他adb功能需要添加的可以提。
下载地址
说明


  • 关于Android
    请自行打开手机开发者模式中的USB调试,确保手机和电脑能连接上。确保能使用adb连接上。本地化路径保存在Documents目录下面,包含tools文件夹(相关工具文件)和SETTING文件(配置文件)。本工具Android模块只是将adb的大部分命令进行了懒人模式,有问题欢迎提issues。
功能

Android


  • 开启Root
    如果手机又Root权限,可以打开,在获取信息的时候使用到。如果手机有Magisk,可以安装这个插件adb_root,可以让所有的命令都走root权限。
  • 内置ADB
    如果你的电脑没有adb,打开这个开关会使用内置的adb。如果你电脑本身有adb,点击右上角的配置,配置adb路径,以免内置的adb和你安装的adb冲突。

    • 外部ADB路径设置



  • 基本操作

    • 获取设备
      获取当前所有连接的Android设备,展示在下拉框里面(大部分功能都需要先获取设备)
    • 获取设备信息
      选择,然后点击获取信息,部分信息在高版本的手机上面需要Root权限

  • 无线连接

    • 无线连接
      选择真机,非自定义的情况下会去获取当前真机的ip,获取成功直接去连接,获取失败,需要自定义去填入ip:port。选择其他模拟器设备,默认内置了所有模拟器的第一台设备的端口。然后点击无线连接就ok了。
    • 断开
      只能断开无线连接的设备和模拟器

  • 应用管理

    • 当前包名
      获取当前展示的app包名,展示在上面的下拉框里面。
    • 第三方包名(新增)
      获取当前所有第三方的app包名,展示在上面的下拉框里面。
    • 系统包名(新增)
      获取当前所有系统的app包名,展示在上面的下拉框里面。
    • 安装apk
      选择本地的apk文件安装到手机上面
    • 卸载apk
      卸载当前获取到包名的apk。
    • apk路径
      当前获取到包名的app路径。
    • app包信息(新增)
      当前获取到包名的app信息,可以复制部分信息为应用交互做准备。
    • 前台Activity
      当前最顶级的Activity名。
    • 清楚数据
      清楚当前获取到包名的数据。

  • 应用交互(新增)

    • 启动Activity
      弹窗输入要启动的Activity名字,如果没有输入将启动当前获取包名的app。(关于启动类可以通过app包信息获取)
    • 发送BroadcastReceiver
      弹窗输入要启动的广播,下面也列出了部分系统广播,用于测试很难出现的光比。
    • 发送Service
      弹出输入要启动的Service
    • 停止Service
      弹出输入要通知的Service

  • 文件管理

    • 推送文件
      选择文件推送到当前设备,默认推送位置/data/local/tmp。点击自定义路径,可以输入你想推送的路径。


    • 拉取文件
      从当前设备拉取文件到桌面。

      • 手机crash
        点击手机crash,将收集所有crash日志,展示出来,然后选择时间点点击拉取crash。会推送到桌面
      • 拉取文件
        只是为了拉取文件。需要先配置搜索的文件路径,然后点击搜索,会搜索该路径下的所有文件。然后再点击拉取文件。也会推送到桌面。
      • 拉取anr
        直接点击,会直接拉取anr日志到桌面(时间有点长,耐心等待)


  • 模拟操作
    你可以使用大部分模拟命令。

    • 添加指令文件
      //文件规则0/1    //0表示当前是执行这个文件的所有指令,1表示可以执行单个指令swipe x1 y1 x2 y2 滑动名字  //滑动的格式,必须swipe开头,每个以空格隔开tap x1 y1 点击名字    //点击的格式,必须tap开头text 文本 输入文字名字  //输入的格式,必须text开头//以下是各个按键的操作0 KEYCODE_UNKNOWN1 KEYCODE_MENU2 KEYCODE_SOFT_RIGHT3 KEYCODE_HOME4 KEYCODE_BACK5 KEYCODE_CALL6 KEYCODE_ENDCALL7 KEYCODE_08 KEYCODE_19 KEYCODE_210 KEYCODE_311 KEYCODE_412 KEYCODE_513 KEYCODE_614 KEYCODE_715 KEYCODE_816 KEYCODE_917 KEYCODE_STAR18 KEYCODE_POUND19 KEYCODE_DPAD_UP20 KEYCODE_DPAD_DOWN21 KEYCODE_DPAD_LEFT22 KEYCODE_DPAD_RIGHT23 KEYCODE_DPAD_CENTER24 KEYCODE_VOLUME_UP25 KEYCODE_VOLUME_DOWN26 KEYCODE_POWER27 KEYCODE_CAMERA28 KEYCODE_CLEAR29 KEYCODE_A30 KEYCODE_B31 KEYCODE_C32 KEYCODE_D33 KEYCODE_E34 KEYCODE_F35 KEYCODE_G36 KEYCODE_H37 KEYCODE_I38 KEYCODE_J39 KEYCODE_K40 KEYCODE_L41 KEYCODE_M42 KEYCODE_N43 KEYCODE_O44 KEYCODE_P45 KEYCODE_Q46 KEYCODE_R47 KEYCODE_S48 KEYCODE_T49 KEYCODE_U50 KEYCODE_V51 KEYCODE_W52 KEYCODE_X53 KEYCODE_Y54 KEYCODE_Z55 KEYCODE_COMMA56 KEYCODE_PERIOD57 KEYCODE_ALT_LEFT58 KEYCODE_ALT_RIGHT59 KEYCODE_SHIFT_LEFT60 KEYCODE_SHIFT_RIGHT61 KEYCODE_TAB62 KEYCODE_SPACE63 KEYCODE_SYM64 KEYCODE_EXPLORER65 KEYCODE_ENVELOPE66 KEYCODE_ENTER67 KEYCODE_DEL68 KEYCODE_GRAVE69 KEYCODE_MINUS70 KEYCODE_EQUALS71 KEYCODE_LEFT_BRACKET72 KEYCODE_RIGHT_BRACKET73 KEYCODE_BACKSLASH74 KEYCODE_SEMICOLON75 KEYCODE_APOSTROPHE76 KEYCODE_SLASH77 KEYCODE_AT78 KEYCODE_NUM79 KEYCODE_HEADSETHOOK80 KEYCODE_FOCUS81 KEYCODE_PLUS82 KEYCODE_MENU83 KEYCODE_NOTIFICATION84 KEYCODE_SEARCH85 TAG_LAST_KEYCODE
    • 执行指令
      用户执行指令的按钮
    • 停止指令
      只有在开启循环时有效。表示停止执行循环

  • 实用操作

    • 截屏(修改)
      截取当前设备的界面,并且推送到桌面(命名 当前时间.png)
    • 录屏(修改)
      录取当前屏幕,需要先设置时间,完成后推送到桌面(命名 当前时间.mp4)
    • 重启手机
      重新启动手机
    • 重启到fastboot
      重启手机到fastboot模式
    • 重启到recovery
      重启手机到recovery模式
    • v2签名
      使用apksigner的签名。windows的签名文件放在apksigner文件夹下面,macos放在/Users/用户名/Library/Caches/apksigner下面,可以进行替换,保证文件名一样。apksigner.json为签名的key以及密码。替换记得修改。

IOS

暂时未做(计划使用libmobileinstaller的相关指令)
编译

所有平台应用都改成了占当前屏幕的2/3,采用居中显示,linux没有居中,GTK没搞过。

  • windows
    安装Visual Studio,c++桌面包。flutter build windows  //进行编译。在build/windows/runner 会生成Visual Studio的解决方案工程,可以导入进行开发。生成的exe在build/windows/runner/Release/*.exe
  • linux
    //linux需要安装以下依赖sudo apt-get updatesudo apt install clangsudo apt install cmakesudo apt install ninja-buildsudo apt install libgtk-3-devfile INSTALL cannot copy file  //出现这个问题flutter clean  //执行这个然后重启AndroidStudioflutter build linux //生成release包,文件在build/linux/release/bundle下面使用adb出现adb devices => no permissions (user in plugdev group; are your udev rules wrong?) [duplicate]参考地址解决:https://stackoverflow.com/questions/53887322/adb-devices-no-permissions-user-in-plugdev-group-are-your-udev-rules-wrong
  • macos
    安装Xcode,然后在编译的时候遇到很多小问题。然后百度解决了,其中一个[tool_crash] Invalid argument(s): Cannot find executable for /Users/imac/Documents/FlutterSDK/flutter/bin/cache/artifacts解决方案:https://github.com/flutter/flutter/issues/85107flutter build macos //生成release包,文件在build/macos/Build/Products/Release/下面将mac目录下的文件倒入xcode可进行开发
截图展示


  • windows(1920*1080)




  • linux (1920*1080)




  • macos (1440*960)



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表