Giter Club home page Giter Club logo

atxserver2's People

Contributors

codeskyblue avatar hboprc avatar trevorwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atxserver2's Issues

环境问题

atxserver2的tornado包版本与项目 atxserver2-android-provider的tornado版本不一样,他们需要分开环境吗

输入框Input disabled

atxserver2显示输入框Input disabled,请问该如何解决
修复输入法吗?点击修复输入法后无反应。

跨网段访问设备无法访问正确的设备ip

ATXServer2访问设备与服务器不在同一局域网内通过路由器转发进行访问,控制设备时,设备ip为服务器局域网ip,WEB上,设备无法显示屏幕.
ps:子路由器设置了DMZ,服务器所在网段192.168.31.1,设备服务器所在网段192.168.31.1,访问手机设备所在网段192.168.2.1,手机设备页面显示ip为192.168.31.1

使用docker无法部署?

在win和lunix 直接docker-compose up
都会出现无法部署
windows是找不到数据库

rethinkdb_1 | error: Error in src/serializer/log/log_serializer.cc at line 81:
rethinkdb_1 | error: Could not rename database file /data/rethinkdb_data/tmp/metadata.create to permanent location /data/rethinkdb_data/metadata (Device or resource busy)
rethinkdb_1 | error: Backtrace:
rethinkdb_1 | error: Sat Mar 7 12:47:36 2020
lunix是

ERROR: for atxserver2_web_1 Cannot start service web: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "scripts/wait-for-db.sh": permission denied": unknown

ERROR: for web Cannot start service web: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "scripts/wait-for-db.sh": permission denied": unknown

Alt Text

开发计划

阶段0(准备阶段)

  • 实时输入法
  • 网页手机终端
  • 滚轮滑动屏幕
  • 鼠标右键返回,中键HOME, 双击唤醒屏幕
  • 自定义快捷命令

阶段1(基本功能)

  • 粗略的API文档
  • 应用在线安装(这里为了降低实现难度,直接调用adb和ideviceinstaller安装)
  • 支持USB设备的接入
  • 设备长时间占用不使用,自动释放设备
  • 设备过长时间接入没有断电,自动提示拔掉设备(防止设备鼓包)

阶段2(完成后可逐步替换掉现有的iOS设备管理)

  • 支持iOS设备的简单控制和在线安装
  • 显示每个设备的占用率(天、周、月)
  • REST API文档(设备占用,获取adb connect地址,设备释放)

阶段3(针对游戏用户)

  • 支持手机控制手机(方便游戏控制)
  • 多机同时控制的功能
  • 可调节显示分辨率、每秒传输图片数
  • 尝试支持下h264
  • 提供设备的预约功能(当设备空闲是占用10分钟,并使用及时通信工具通知用户)

阶段4

  • 支持私有部署(非本组用户无法查看该设备)
  • 支持WIFI与USB设备同时接入
  • 跨网段设备接入(可以远程调试用户手机复现疑难问题)
  • 待补充

释放过的设备,重新连接以后,截图时地址还保留之前的ip

1.某个设备在atx2上的远程地址为172.16.6.82:20197,
2.将其释放
3.重新连接该设备,此时该设备的远程地址为172.16.6.82:20199,
4.点击网页上的截图按钮
预期结果:可以正常截图
实际结果:报错,提示找不到172.16.6.82:20197的路径。

在设备被释放重新连接,更换ip以后,截图这块的地址未更新。

设备屏幕同步中断

所有步骤都完成了,看起来也没什么问题,设备都已经在线,但没有屏幕显示
提示“设备屏幕同步中断“
请问如何调试?

si min require

  • 跨网段设备连接
  • 显示设备的区域
  • 只显示连接成功的设备
  • 保留屏幕旋转的功能

CentOS7安装时,OCI runtime create failed,permission denied 错误

在安装的时候出现:OCI runtime create failed,permission denied 错误

[root@myserver atxserver2]# docker-compose up
atxserver2_rethinkdb_1 is up-to-date
Starting atxserver2_web_1 ... error

ERROR: for atxserver2_web_1 Cannot start service web: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: "scripts/wait-for-db.sh": permission denied": unknown

ERROR: for web Cannot start service web: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: "scripts/wait-for-db.sh": permission denied": unknown
ERROR: Encountered errors while bringing up the project.

[root@myserver atxserver2]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.3.1611 (Core)
Release: 7.3.1611
Codename: Core

CentOS7 部署失败docker-compose up

[root@localhost atxserver2]# docker-compose up
Starting atxserver2_rethinkdb_1 ... done
Starting atxserver2_web_1 ... done
Attaching to atxserver2_rethinkdb_1, atxserver2_web_1
rethinkdb_1 | Could not create directory 'rethinkdb_data': Permission denied
atxserver2_rethinkdb_1 exited with code 1
--怎么处理?

git lfs pull 拉取不到数据,一直fetch fail

web端点击停用设备后会回到主界面问题

再web端点击停用设备会回到主界面,而我不需要它回到主界面,因为我的脚本可能还在运行,这样会打乱我的脚本流程,所有把回到主界面的操作注释掉了(见下图)
image
然后再windows重新启动atxserver2运行没问题,也很符合我我需求

然后把同样操作再liunx上一样操作之后,结果却是没有效果,点击停用设备还是会回到主界面
操作步骤如下---liunx
1、注释掉 await adb.shell(self._serial, "input keyevent HOME")
2、docker-compose up -d --force-recreate
3、docker-compose build
4、重新启动atxserver2
希望大佬可以帮忙看下,我检查了项目代码,可是没有找到其他可能会导致回到主界面的操作,
拜谢

设备列表点击“停用”,一直显示“释放中”

说明:
server:centos(docker 部署)
android-provider:win7(手工部署)
重现步骤:
设备连接上后,点击“停用”,一直显示“释放中”
备注:

  • 服务器日志截图:
    [I 190515 09:30:22 web:2246] 200 GET /api/v1/user/devices/6a5cde83 (192.168.255.254) 12.02ms
    [I 190515 09:30:23 web:2246] 200 DELETE /api/v1/user/devices/6a5cde83 (192.168.255.254) 19.27ms
    [I 190515 09:30:28 web:2246] 200 GET /api/v1/user/devices/6a5cde83 (192.168.255.254) 12.02ms
    [I 190515 09:30:35 web:2246] 304 GET /api/v1/user/devices/6a5cde83 (192.168.255.254) 11.51ms
    [I 190515 09:30:41 web:2246] 304 GET /api/v1/user/devices/6a5cde83 (192.168.255.254) 12.04ms
    [E 190515 09:30:43 ioloop:763] Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <tornado.platform.asyncio.AsyncIOMainLoop object at 0x7f89c99237f0>>, <Task finished coro=<D.release..cold_device() done, defined at /app/web/views/device.py:466> exception=HTTP 599: Timeout while connecting>)
    Traceback (most recent call last):
    File "/usr/local/lib/python3.6/site-packages/tornado/ioloop.py", line 743, in _run_callback
    ret = callback()
    File "/usr/local/lib/python3.6/site-packages/tornado/ioloop.py", line 767, in _discard_future_result
    future.result()
    File "/app/web/views/device.py", line 476, in cold_device
    await http_client.fetch(request)
    tornado.simple_httpclient.HTTPTimeoutError: Timeout while connecting
    [I 190515 09:30:47 web:2246] 304 GET /api/v1/user/devices/6a5cde83 (192.168.255.254) 11.35ms
    [I 190515 09:30:52 web:2246] 304 GET /api/v1/user/devices/6a5cde83 (192.168.255.254) 12.21ms
    [I 190515 09:30:58 web:2246] 304 GET /api/v1/user/devices/6a5cde83 (192.168.255.254) 11.21ms
    7a1461f20630[I 190515 09:31:04 web:2246] 304 GET /api/v1/user/devices/6a5cde83 (192.168.255.254) 11.20ms
    7a1461f20630[I 190515 09:31:11 web:2246] 304 GET /api/v1/user/devices/6a5cde83 (192.168.255.254) 11.42ms

  • 现象截图:

图片

Version in ".\docker-compose.yml" is unsupported.

�[31mERROR�[0m: Version in ".\docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.

设备屏幕同步中断,provider中提示apk安装失败

连了 6 台设备,其中有两天出现了中断的问题;重启也不会安装apk,手机安全相关设置都关闭了
provider:

[D 190717 10:21:33 device:127] [7DAMTS79FIMVUKJR] install vendor/app-uiautomator.apk
Traceback (most recent call last):
  File "/home/youkia/git/atxserver2-android-provider/device.py", line 128, in _install_apk
    self._device.install(path)
  File "/usr/local/python3/lib/python3.7/site-packages/adbutils/mixin.py", line 126, in install
    self.install_remote(dst, clean=True)
  File "/usr/local/python3/lib/python3.7/site-packages/adbutils/mixin.py", line 144, in install_remote
    raise AdbInstallError(output)
adbutils.errors.AdbInstallError: 	pkg: /data/local/tmp/tmp-1563330093231.apk
Failure [INSTALL_FAILED_OLDER_SDK]
[W 190717 10:21:34 device:131] [7DAMTS79FIMVUKJR] Install apk vendor/app-uiautomator.apk error 	pkg: /data/local/tmp/tmp-1563330093231.apk
    Failure [INSTALL_FAILED_OLDER_SDK]
None :  

环境:
CentOS 7.4
Python 3.7.3
设备:
魅族 魅蓝 S6
atxserver2 和 provider 都是python3 手动启动的

ADB不能远程连接的问题

npm下载安装一个adbkit,找到node_modules文件,把node_modules把放到atxserver2-android-provider根目录就好了

atxserver2连接手机不显示手机界面

atxserver2安装完成,连接手机后,不显示手机的界面,手机型号是oneplus A6010 ,H2OS版本是10.0.4,用的chrome浏览器,界面上的所有按键点击都是可以有效操作手机的,就是无法看到手机的实时状态,应该显示手机界面的画面一直都是灰色的,这个该怎么办啊

怎样在本地,使用远程设备的音视频?

手机设备A,在远程机B中通过链接打开,怎样使远程机的摄像头,替换为设备A的摄像头和麦克风,说的有点乱,但是你懂得吧><
公司做视频直播的,所以有这个需求

连接不上minicap和minitouch

按照步骤配置好之后,打开设备页面,一直提示我无法链接到minicap和minitouch
image

手机和电脑在一个wifi下,电脑的网址是192.169.45.92,手机中atx软件显示的ip是192.169.45.38

还请大佬帮忙看看,我需要怎么处理一下

ADB远程连接报错,未开启防火墙

使用adb connect 10.168.143.16:20014远程调试时,报

unable to connect to 10.168.143.16:20014: cannot connect to 10.168.143.16:20014: 由于目标计算机积极拒绝,无法连接。 (1 0061)

直连手机ip时可以连接,如:
通过adb tcpip 5555后,adb connect phoneip:5555,正常。

image
image

安卓(android9)设备初始化失败

android provider日志:

[D 190806 06:29:26 device:100] [9af1acf9] use atx-agent: atx-agent-armv7 [E 190806 06:29:31 main:258] Unknown error: [Errno 104] Connection reset by peer Traceback (most recent call last): File "main.py", line 241, in device_watch await device.init() File "/app/device.py", line 59, in init self._init_binaries() File "/app/device.py", line 102, in _init_binaries zipfile_path="vendor/atx-agent-latest.zip") File "/app/device.py", line 112, in _push_stf self._device.sync.push(f, dest, mode) File "/usr/local/lib/python3.7/site-packages/adbutils/__init__.py", line 519, in push c.conn.send(b"DATA" + struct.pack("<I", len(chunk))) ConnectionResetError: [Errno 104] Connection reset by peer [D 190806 06:29:31 main:228] DeviceEvent(present=False, serial='9af1acf9', status='device') [D 190806 06:29:31 heartbeat:93] websocket send: {'udid': '9af1acf9', 'provider': None, 'command': 'update', 'platform': 'android'}
手机未安装上atx,whatsInput等应用

atxserver2重启是出现 provider heartbeat无法重连问题

Traceback (most recent call last):                             
  File "/usr/local/lib/python3.7/site-packages/tornado/ioloop.py", line 605, in _run_callback                                  
    ret = callback()           
  File "/usr/local/lib/python3.7/site-packages/tornado/stack_context.py", line 277, in null_wrapper                            
    return fn(*args, **kwargs) 
  File "/usr/local/lib/python3.7/site-packages/tornado/ioloop.py", line 626, in _discard_future_result                         
    future.result()            
  File "/usr/local/lib/python3.7/site-packages/tornado/concurrent.py", line 238, in result                                     
    raise_exc_info(self._exc_info)                             
  File "<string>", line 4, in raise_exc_info                   
  File "/usr/local/lib/python3.7/site-packages/tornado/gen.py", line 1069, in run                                              
    yielded = self.gen.send(value)                             
  File "<string>", line 6, in _wrap_awaitable                  
  File "/Users/qard3/Deployments/atxserver2-ios-provider/heartbeat.py", line 77, in _drain_queue                               
    await self._ws.write_message(v)                            
  File "/Users/qard3/Deployments/atxserver2-ios-provider/heartbeat.py", line 37, in write_message                              
    return await super().write_message(message)                
TypeError: object NoneType can't be used in 'await' expression 

外部键盘无法使用

目前只能调用手机内部输入功能,在电脑上直接打字无法输入

注:在手机内部输入效率太低

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.