鸿蒙4.0.0 安装minitouch

鸿蒙4.0.0 安装minitouch

ubuntu 系统

minitouch 地址 https://github.com/DeviceFarmer/minitouch

因为 鸿蒙4.0.0 对应安卓12 API版本31

所以启动 minitouch 需要 STFService

地址 https://github.com/openstf/STFService.apk

到release下载最新的STFService.apk

(或者自己源码编译,需要安装安卓studio )


adb install  STFService.apk

1安装成功后启动 server

  adb shell am start-foreground-service --user 0   -a jp.co.cyberagent.stf.ACTION_START     -n jp.co.cyberagent.stf/.Service

官方以下这条命令不对,别用

adb shell am startservice --user 0 \-a jp.co.cyberagent.stf.ACTION_START \-n jp.co.cyberagent.stf/.Service

会报错 Error: app is in background uid null

2 创建server端口转发

adb forward tcp:1100 localabstract:stfservice

本地端口1100连接

nc localhost 1100

3 新建终端 运行 agent

在新的终端 输入命令:

路径变量

APK=$(adb shell pm path jp.co.cyberagent.stf | \tr -d '\r' | awk -F: '{print $2}')

运行

adb shell export CLASSPATH="$APK"\; \exec app_process /system/bin jp.co.cyberagent.stf.Agent

4 创建agent 端口转发

新建终端输入命令:

adb forward tcp:1090 localabstract:stfagent

本地端口1090连接

nc localhost 1090

5 运行minitouch

新建终端
我已经提前安装好minitouch 到手机目录 /data/local/tmp/
输入 adb shell /data/local/tmp/minitouch
打印如下:

wmx:~$   adb shell /data/local/tmp/minitouch
open: Permission denied
Unable to open device /dev/input/event2 for inspectionopen: Permission denied
Unable to open device /dev/input/event0 for inspectionopen: Permission denied
Unable to open device /dev/input/event3 for inspectionopen: Permission denied
Unable to open device /dev/input/event1 for inspectionopen: Permission denied
Unable to open device /dev/input/event4 for inspectionopen: Permission denied
Unable to open device /dev/input/mouse0 for inspectionopen: Permission denied
Unable to open device /dev/input/mouse1 for inspectionopen: Permission denied
Unable to open device /dev/input/mice for inspectionopen: Permission denied
Unable to open device /dev/input/event6 for inspectionopen: Permission denied
Unable to open device /dev/input/event5 for inspectionopen: Permission denied
Unable to open device /dev/input/event7 for inspectionUnable to find a suitable touch device
using Android InputManager

新建终端创建minitouch 端口转发

adb forward tcp:1111 localabstract:minitouch
nc localhost 1111

显示

wmx:~$ nc localhost 1111
v 1
^ 10 1152 2376 0
$ 16385

上面显示的格式说明:
第一行
v <version>
version=1 是 协议版本

第二行
^ <max-contacts> <max-x> <max-y> <max-pressure>
<最大触摸数> <最大分辨率-x> <最大分辨率-y> <最大触摸压力>
10点触摸 / 1152 / 2376 / 0

第三行
$ <pid>
进程id是16385

运行命令测试

在手机 usb调试设置打开选项

-> 显示触摸操作
-> 指针位置

在步骤5命令 nc localhost 1111 创建的终端输入命令:

d 0 200 200 50 \n
c

看到效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/667644.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的SSVEP分类算法简介

基于深度学习的SSVEP分类算法简介 1、目标与范畴2、深度学习的算法介绍3、参考文献 1、目标与范畴 稳态视觉诱发电位&#xff08;SSVEP&#xff09;是指当受试者持续注视固定频率的闪光或翻转刺激时&#xff0c;在大脑枕-额叶区域诱发的与刺激频率相关的电生理信号。与P300、运…

C系列-柔性数组

&#x1f308;个人主页: 会编程的果子君 ​&#x1f4ab;个人格言:“成为自己未来的主人~” 目录 ​编辑 柔性数组 柔性数组的特点 柔性数组的使用 柔性数组的优势 柔性数组 也许你从来没有听说过柔性数组这个概念&#xff0c;但是它确实是存在的&#xff0c;C99中&#…

vue学习——集成sass

安装 pnpm i sass sass-loader -D在vite.config.ts文件配置: export default defineConfig({css: {preprocessorOptions: {scss: {javascriptEnabled: true,additionalData: import "./src/styles/variable.scss";,},},},} }创建三个文件 src/styles/index.scss //…

PyTorch 2.2 中文官方教程(十八)

开始使用完全分片数据并行&#xff08;FSDP&#xff09; 原文&#xff1a;pytorch.org/tutorials/intermediate/FSDP_tutorial.html 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 作者&#xff1a;Hamid Shojanazeri&#xff0c;Yanli Zhao&#xff0c;Shen Li 注意…

Hudi学习 6:Hudi使用

准备工作&#xff1a; 1.安装hdfs https://mp.csdn.net/mp_blog/creation/editor/109689143 2.安装spark spark学习4&#xff1a;spark安装_hzp666的博客-CSDN博客 3.安装Scala Hudi学习6&#xff1a;安装和基本操作_hzp666的博客-CSDN博客 spark-shell 写入和读取hudi 2.…

python常用pandas函数nlargest / nsmallest及其手动实现

目录 pandas库 Series和DataFrame nlargest和nsmallest 用法示例 代替方法 手动实现 模拟代码 pandas库 是Python中一个非常强大的数据处理库,提供了高效的数据分析方法和数据结构。它特别适用于处理具有关系型数据或带标签数据的情况,同时在时间序列分析方面也有着出…

Springboot mybatis关于bean中含有表中不存在的字段

1、当使用mybatis plus时&#xff0c;可用TableField(exist false) Data TableName("comp_sta_scale_t") public class Scale implements Serializable {/*** 唯一主键*/TableIdprivate String id;/*** 资源id*/Excel(name "资源id", mergeVertical tr…

基于springboot地方美食分享网站源码和论文

基于springboot地方美食分享网站源码和论文361 首先&#xff0c;论文一开始便是清楚的论述了系统的研究内容。其次&#xff0c;剖析系统需求分析&#xff0c;弄明白“做什么”&#xff0c;分析包括业务分析和业务流程的分析以及用例分析&#xff0c;更进一步明确系统的需求。然…

嵌入式中经典面试题分析

1.关键字static的作用是什么&#xff1f;为什么static变量只初始化一次&#xff1f; 1&#xff09;修饰局部变量&#xff1a;使得变量变成静态变量&#xff0c;存储在静态区&#xff0c;存储在静态区的数据周期和程序相同&#xff0c; 在main函数开始前初始化&#xff0c;在退…

7min到40s:SpringBoot 启动优化实践!

目录 背景 1 耗时问题排查 1.1 观察 SpringBoot 启动 run 方法 1.2 监控 Bean 注入耗时 2 优化方案 2.1 如何解决扫描路径过多&#xff1f; 2.2 如何解决 Bean 初始化高耗时&#xff1f; 3 新的问题 3.1 SpringBoot 自动化装配&#xff0c;让人防不胜防 3.2 使用 sta…

泡泡清新文艺的微社区系统PHP源码

泡泡微社区&#xff0c;小巧而强大&#xff0c;为您带来卓越的社区交流体验。 凭借GoZinc的先进架构&#xff0c;泡泡在保持轻盈身姿的同时&#xff0c;功能一应俱全。前端采用Vue3匠心打造&#xff0c;界面清新简约&#xff0c;三栏式布局仿若Twitter&#xff0c;让您一见倾心…

四、Redis之配置文件

redis配置文件的名称 redis.conf 通过命令 find / -name redis.confvim redis.conf通过 : set nu 设置行号: set nonu 取消行号/关键字 搜索关键字: set noh 取消高亮选择4.1 Units 配置大小单位&#xff0c;开头定义了一些基本的度量单位&#xff0c;只支持 bytes&#…

基于Springboot的校园失物招领网站(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的校园失物招领网站&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

【数据结构】排序---C语言版

七大排序算法 一、对于排序的分类&#xff1a;二、插入排序1、直接插入排序&#xff08;1&#xff09;基本思想&#xff1a;&#xff08;2&#xff09;直接插入排序&#xff1a;&#xff08;3&#xff09;代码实现&#xff1a;&#xff08;4&#xff09;总结&#xff1a; 2、希…

【Django】ORM关系映射

关系映射 在关系型数据库中&#xff0c;通常不会把所有数据都放在同一张表中&#xff0c;不易于扩展&#xff0c;常见的关系映射有&#xff1a; 一对一映射&#xff0c;如一个身份证对应一个人。 一对多映射&#xff0c;如一个班级可以有多个学生。 多对多映射&#xff0c;如…

thinkphp6入门(16)-- cache用法总结

在ThinkPHP 6中&#xff0c;缓存功能被集成到框架中&#xff0c;可以通过Cache类来使用。以下是一些在ThinkPHP 6中使用缓存的基本用法&#xff1a; 配置缓存驱动&#xff1a; 打开 config/cache.php 文件&#xff0c;选择合适的缓存驱动&#xff0c;并配置相应的参数&#xff…

初始数据库

华子目录 什么是数据库DBMS&#xff08;数据库管理系统&#xff09;数据库系统和文件系统的区别文件系统数据库系统对比区别优缺点总结 常见数据库关系型数据库ACID原则关系型数据库的优缺点优点缺点 非关系型数据库存储方式常见的非关系型数据库非关系型数据库的优缺点优点缺点…

Vivado Tri-MAC IP的例化配置(三速以太网IP)

目录 1 Tri-MAC IP使用RGMII接口的例化配置1.1 Data Rate1.2 interface配置1.3 Shared Logic配置1.4 Features 2 配置完成IP例化视图 1 Tri-MAC IP使用RGMII接口的例化配置 在网络设计中&#xff0c;使用的IP核一般为三速以太网IP核&#xff0c;使用时在大多数场景下为配置为三…

flask的基本使用 token插件(二)

一、安装flask-jwt-extended 安装flask-jwt-extend得时候 会自动安装一个pyjwt得库。pyjwt可以直接使用来生成JWT和验证。但是在flask中&#xff0c;可以通过Flask-JWT-Extended来实现JWT能&#xff0c;因为他封装了使用方式&#xff0c;以及一些属性和装饰器&#xff0c;用起…

Java tomcat 使用spring-task,实现定时任务功能

前言 今天接触到一个需求&#xff0c;需要添加一个定时任务功能&#xff0c;第一反应是启动类EnableScheduling、定时任务方法使用Scheduled实现&#xff0c;导入项目后才发现&#xff0c;这个项目是ssm整合框架的tomcat项目&#xff0c;没有启动类&#xff0c; 于是改变了思路…