# SmartPhoneCloud **Repository Path**: xiao-azhang/SmartPhoneCloud ## Basic Information - **Project Name**: SmartPhoneCloud - **Description**: 智能手机云控学习版,注意:该开源项目用于学习智能手机的群控技术,请勿用于商业用途或用于违法行为。 - **Primary Language**: Python - **License**: MPL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2024-05-25 - **Last Updated**: 2024-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SmartPhoneCloud ## 功能说明 智能手机云控学习版,**注意:该开源项目用于学习智能手机的群控技术,请勿用于商业用途或用于违法行为**。 目前支持功能: 1、支持安卓手机的远程群控操作,包括屏幕同步,电脑端的屏幕鼠标控制,特定按键操作; 2、支持手机接入USB自动刷新和接入群控; 3、支持自动在手机上安装所需服务软件,无需手工安装; 4、支持以插件方式扩展新功能,目前实现了一个抖音直播间操作的示例插件; 不完善的问题: 1、不支持苹果手机; 2、视频同步服务采用了node.js方式实现,需要node环境,未实现纯Python的模式; 3、屏幕同步可能存在内存泄漏问题,长时间执行有崩溃的情况; 4、抖音插件功能不稳定,因为动态页面经常会出现查找不到对象的问题,因为只是示例,所以没有考虑优化。 ## 安装方法 1、需NodeJS环境支持,请自定百度进行安装; 2、需安装ADB(Android SDK Tool),请自行百度进行安装; 3、需安装 HiveNetLib 、HandLessRobot 两个依赖包的最新版本: ``` pip install HiveNetLib pip install HandLessRobot ``` 4、直接从github拉最新的代码到本地; ## 使用方法 1、如果是windows,运行 SmartPhoneCloud 目录下的 start.bat 脚本进行启动;如果是其他操作系统,执行以下命令启动服务: ``` python server.py ``` 2、在浏览器上打开以下地址:http://127.0.0.1:5000/ 3、插入安卓手机,开发者选项设置为调试模式,这时候可以进行体验了; ## 修改配置 可以在打开的页面上修改系统配置,比如监听端口等,注意修改完应重启服务才生效。也可以直接修改源码 SmartPhoneCloud/lib/bg_services.py 上 ConfigServices 的初始化参数值。 目前默认的监听端口: Web服务 (网页): 5000 SocketIO服务(操作): 5001 minicap服务(屏幕同步): 9002 ## 插件开发 目前支持开发插件执行不同的群控处理(可参考 SmartPhoneCloud/plugin 目录下的 douyin 插件),入口在主界面上的浮动工具栏,主要开发步骤: 1、在 SmartPhoneCloud/plugin 下创建插件目录(例如 demo ),服务启动时会自动从该目录查找和安装插件; 2、在插件根目录下新增插件的配置文件 plugin.xml (配置方式参考示例); 3、如果插件有静态资源(页面、js、css、图片等),请将静态资源放置到插件目录下的 static 目录中,安装时会自动将该目录下的文件或文件夹复制到 "SmartPhoneCloud/website/plugin/插件名“ 下面,因此注意引用时也要注意url路径; 4、如果插件有模板资源,请将模板放置到插件目录下的 templates 目录中, 安装时会自动将该目录下的文件或文件夹复制到 "SmartPhoneCloud/templates/plugin/插件名“ 下面,因此注意引用时也要注意url路径; 5、如果插件有配置文件,请将文件放置到插件目录下的 config 目录中, 安装时会自动将该目录下的文件或文件夹复制到 "SmartPhoneCloud/config/plugin/插件名“ 下面; 6、如果插件有后台服务,请将代码文件放置到插件目录下的 lib 目录中(不会复制),并注意在 plugin.xml 中做好装载配置;如果装载的服务需要实例化,会在初始化对象时传入一些服务对象,可以调用相关运行时的变量。 **注意点:** 1、需要注意引用文件路径,另外插件文件也可以直接引用程序自身的静态资源和模板,无需重复复制文件;