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。点击自定义路径,可以输入你想推送的路径。
    • 拉取文件
      从当前设备拉取文件到桌面。

      1. 手机crash
        点击手机crash,将收集所有crash日志,展示出来,然后选择时间点点击拉取crash。会推送到桌面

      2. 拉取文件
        只是为了拉取文件。需要先配置搜索的文件路径,然后点击搜索,会搜索该路径下的所有文件。然后再点击拉取文件。也会推送到桌面。

      3. 拉取anr
        直接点击,会直接拉取anr日志到桌面(时间有点长,耐心等待)

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

    • 添加指令文件

      //文件规则
      0/1    //0表示当前是执行这个文件的所有指令,1表示可以执行单个指令
      swipe x1 y1 x2 y2 滑动名字  //滑动的格式,必须swipe开头,每个以空格隔开
      tap x1 y1 点击名字    //点击的格式,必须tap开头
      text 文本 输入文字名字  //输入的格式,必须text开头//以下是各个按键的操作
      0 KEYCODE_UNKNOWN
      1 KEYCODE_MENU
      2 KEYCODE_SOFT_RIGHT
      3 KEYCODE_HOME
      4 KEYCODE_BACK
      5 KEYCODE_CALL
      6 KEYCODE_ENDCALL
      7 KEYCODE_0
      8 KEYCODE_1
      9 KEYCODE_2
      10 KEYCODE_3
      11 KEYCODE_4
      12 KEYCODE_5
      13 KEYCODE_6
      14 KEYCODE_7
      15 KEYCODE_8
      16 KEYCODE_9
      17 KEYCODE_STAR
      18 KEYCODE_POUND
      19 KEYCODE_DPAD_UP
      20 KEYCODE_DPAD_DOWN
      21 KEYCODE_DPAD_LEFT
      22 KEYCODE_DPAD_RIGHT
      23 KEYCODE_DPAD_CENTER
      24 KEYCODE_VOLUME_UP
      25 KEYCODE_VOLUME_DOWN
      26 KEYCODE_POWER
      27 KEYCODE_CAMERA
      28 KEYCODE_CLEAR
      29 KEYCODE_A
      30 KEYCODE_B
      31 KEYCODE_C
      32 KEYCODE_D
      33 KEYCODE_E
      34 KEYCODE_F
      35 KEYCODE_G
      36 KEYCODE_H
      37 KEYCODE_I
      38 KEYCODE_J
      39 KEYCODE_K
      40 KEYCODE_L
      41 KEYCODE_M
      42 KEYCODE_N
      43 KEYCODE_O
      44 KEYCODE_P
      45 KEYCODE_Q
      46 KEYCODE_R
      47 KEYCODE_S
      48 KEYCODE_T
      49 KEYCODE_U
      50 KEYCODE_V
      51 KEYCODE_W
      52 KEYCODE_X
      53 KEYCODE_Y
      54 KEYCODE_Z
      55 KEYCODE_COMMA
      56 KEYCODE_PERIOD
      57 KEYCODE_ALT_LEFT
      58 KEYCODE_ALT_RIGHT
      59 KEYCODE_SHIFT_LEFT
      60 KEYCODE_SHIFT_RIGHT
      61 KEYCODE_TAB
      62 KEYCODE_SPACE
      63 KEYCODE_SYM
      64 KEYCODE_EXPLORER
      65 KEYCODE_ENVELOPE
      66 KEYCODE_ENTER
      67 KEYCODE_DEL
      68 KEYCODE_GRAVE
      69 KEYCODE_MINUS
      70 KEYCODE_EQUALS
      71 KEYCODE_LEFT_BRACKET
      72 KEYCODE_RIGHT_BRACKET
      73 KEYCODE_BACKSLASH
      74 KEYCODE_SEMICOLON
      75 KEYCODE_APOSTROPHE
      76 KEYCODE_SLASH
      77 KEYCODE_AT
      78 KEYCODE_NUM
      79 KEYCODE_HEADSETHOOK
      80 KEYCODE_FOCUS
      81 KEYCODE_PLUS
      82 KEYCODE_MENU
      83 KEYCODE_NOTIFICATION
      84 KEYCODE_SEARCH
      85 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 update
    sudo apt install clang
    sudo apt install cmake
    sudo apt install ninja-build
    sudo 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)

adb懒人工具(支持所有桌面端)相关推荐

  1. 渗透测试懒人工具P2note

    声明 此工具仅作学习交流用,不要做任何违法行为,出现一切问题概不负责. 渗透测试懒人工具 声明 一.简介 二.自定义内容 三.最后 一.简介 P2note(Penetration-test paylo ...

  2. centos7.5安装懒人工具autojump

    安装懒人工具autojump 一.autojump是什么 autojump是一个Linux命令行工具,它允许你通过模糊匹配就可以一步跳转到想要的目录,不管你在哪个目录!是不是很神奇? autojump ...

  3. GitHub 项目:快速升级 B 站账号等级的懒人工具

    点击上方 Java后端,选择 设为星标 优质文章,及时送达 从二次元到泛娱乐化弹幕网站,B 站已经成为了国内最受欢迎的综合型视频网站之一. 无论是追番.刷剧,还是看教程.上网课,几乎每个人都可以在这里 ...

  4. 懒人安装Kali Linux桌面环境或工具包的方法

    懒人安装Kali Linux桌面环境或工具包的方法 目标 用一条命令来安装 Kali Linux 桌面环境或是工具包,而不用去记录相关具体的安装软件包 准备 Kali Linux (操作系统,基于De ...

  5. linux扫描软件下载,三款工具助力Linux桌面端扫描

    无论你正在向无纸办公生活方式转型,需要扫描某个文档以便备份起来或用电子邮件发送,想扫描老照片,还是需要将任何内容由物理版本转换成电子版本,扫描仪都派得上用场.实际上,扫描仪可以说必不可少. 不过要注意 ...

  6. 推荐一个生成后端模拟数据的懒人工具:lazy-mock

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 若邪 来源 | https://juejin. ...

  7. electron 打包 php,electron 将现有vue项目改成支持electron桌面端应用

    vue过滤器和组件化 !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" meta name=" ...

  8. lazy-mock ,一个生成后端模拟数据的懒人工具

    lazy-mock   lazy-mock 是基于koa2构建的,使用lowdb持久化数据到JSON文件.只需要简单的配置就可以实现和json-server差不多的功能,但是比json-server更 ...

  9. Android 无线 ADB 懒人打法:WiFiADB 调试

    0. 开言 其实做为安卓开发者,插着手机调试是很麻烦的.

最新文章

  1. Python中使用httpx模块详解
  2. Hadoop MapReduce实例:按手机上网总流量降序排序代码实现及结果演示
  3. 同步锁ReentrantLock
  4. pcb地线应该不应该做成环路_干货|图文详解EMC的PCB设计技术
  5. Python3 From Zero——{最初的意识:007~函数}
  6. Redis:02---安装Redis(Linux+Windows+Docker)
  7. sap模块介绍_SAP系统如何快速上手?
  8. 如何将道具传递给{this.props.children}
  9. ES6 Generator 函数
  10. [Reference][Castle AR] 1. Starter
  11. dnf虚拟机安装的解决方法
  12. Java程序员怎样考察报表工具的开发效率
  13. simulink 调整系统采样时间 示波器显示时间
  14. 芭蕉河梯级水电站群监控系统
  15. SVN 无法clean up解决方案
  16. C语言实现安全性极高的游戏存档并读档
  17. revo uninstaller pro 长期试用的正确姿势!!
  18. 启动sts后,打开项目报错:NullPointException【已解决】
  19. APM32F103 RTC内部时钟源秒中断例程测试
  20. 如何给图片标注重点(加红框、箭头等)\一些好用的快捷键

热门文章

  1. 网易云信课题实践-内网穿透的实现
  2. 基于增强蛇优化算法求解单目标优化问题附matlab代码
  3. 【蛇群优化算法】基于蛇优化算法求解单目标优化问题附matlab代码
  4. 通信原理中的码元概念
  5. 阿里云服务器的镜像如何选择
  6. js基础-循环结构【003】
  7. 中国疾控中心:全国冬春季流感病毒主要为甲型H1N1
  8. 《原》多个手机号码(11位)并且用英文逗号隔开的正则表达式
  9. top20万_Q3全球超休闲游戏下载、收入TOP20:猎豹移动砖块消消消内购收入高达4390万...
  10. 华信告诉你网站建设与搭建的几个常见误区