Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'NoneType' object has no attribute 'group' #240

Closed
Zolliner opened this issue Nov 23, 2023 · 18 comments
Closed

'NoneType' object has no attribute 'group' #240

Zolliner opened this issue Nov 23, 2023 · 18 comments

Comments

@Zolliner
Copy link

[E 231123 14:43:32 apm:264] 'NoneType' object has no attribute 'group'
Traceback (most recent call last):
File "C:\Users\lizhendong\miniconda3\envs\testSoloX\Lib\site-packages\solox\public\apm.py", line 250, in getAndroidNet
sendNum_pre = round(float(float(m_pre.group(2)) / 1024), 2)
^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'group'

一直报这个错误

@Zolliner
Copy link
Author

debug发现,output_pre是空字符串
找到最终执行的命令是 adb -s 155dd78c shell cat /proc/6469:com.tencent.mm/net/dev |findstr rmnet0
输出是 cat: /proc/6469:com.tencent.mm/net/dev: No such file or directory

@mutexz
Copy link

mutexz commented Nov 23, 2023

debug发现,output_pre是空字符串 找到最终执行的命令是 adb -s 155dd78c shell cat /proc/6469:com.tencent.mm/net/dev |findstr rmnet0 输出是 cat: /proc/6469:com.tencent.mm/net/dev: No such file or directory

命令拼接的不对,应该是/proc/{pid}/net/dev,此处应为/proc/6469/net/dev

@Zolliner
Copy link
Author

debug发现,output_pre是空字符串 找到最终执行的命令是 adb -s 155dd78c shell cat /proc/6469:com.tencent.mm/net/dev |findstr rmnet0 输出是 cat: /proc/6469:com.tencent.mm/net/dev: No such file or directory

命令拼接的不对,应该是/proc/{pid}/net/dev,此处应为/proc/6469/net/dev

修改命令后,执行 `adb -s 155dd78c shell cat /proc/6469/net/dev' ,输出如下,没有找到 rmnet0
Snipaste_2023-11-23_15-17-04

@rafa0128
Copy link
Member

应该不会出现这种情况吧,你界面截图我看看你选择的进程是长啥样的?

@rafa0128
Copy link
Member

rmnet0是移动网络,界面关掉wifi开关才会去统计

@Zolliner
Copy link
Author

应该不会出现这种情况吧,你界面截图我看看你选择的进程是长啥样的?

软件是小而美的微信,手机是红米K50Ultra,MIUI14.0.11,安卓13

pid是通过示例里的d.getPid()获取的,如图
image

顺便说一句,我刚刚意识到可以选取WiFi的数据,于是设置 flow = apm.collectFlow(wifi=True) ,并且连接WiFi就可以用了

@rafa0128
Copy link
Member

哦你是用api是吧,要自己处理一下,如果是用界面测试不会有这种情况

@Zolliner
Copy link
Author

哦你是用api是吧,要自己处理一下,如果是用界面测试不会有这种情况

并不是哦,如图,我又在界面测试了抖音的效果,网络和FPS没有数据,终端疯狂刷错误🤣
image

image

@mutexz
Copy link

mutexz commented Nov 23, 2023

哦你是用api是吧,要自己处理一下,如果是用界面测试不会有这种情况

我用华为Mate50Pro测试了一下移动网络的情况,确实存在没有rmnet0的参数输出。
image

@rafa0128
Copy link
Member

哦你是用api是吧,要自己处理一下,如果是用界面测试不会有这种情况

我用华为Mate50Pro测试了一下移动网络的情况,确实存在没有rmnet0的参数输出。 image

我试了是正常的,你手机有没有关掉wifi?界面也关掉wifi开关

@rafa0128
Copy link
Member

哦你是用api是吧,要自己处理一下,如果是用界面测试不会有这种情况

并不是哦,如图,我又在界面测试了抖音的效果,网络和FPS没有数据,终端疯狂刷错误🤣 image

image

你是自己调试,还是用python -m solox?

@Zolliner
Copy link
Author

Zolliner commented Nov 23, 2023

哦你是用api是吧,要自己处理一下,如果是用界面测试不会有这种情况

并不是哦,如图,我又在界面测试了抖音的效果,网络和FPS没有数据,终端疯狂刷错误🤣 image
image

你是自己调试,还是用python -m solox?

红米K50Ultra,MIUI14.0.11,安卓13,流量环境下,使用 python -m solox执行。

顺便说一句,我重写了builtin_adb_path() 函数,因为它一直调用solox自带的。

def builtin_adb_path():
    return r"D:\01_software\platform-tools\adb.exe"

@mutexz
Copy link

mutexz commented Nov 23, 2023

哦你是用api是吧,要自己处理一下,如果是用界面测试不会有这种情况

我用华为Mate50Pro测试了一下移动网络的情况,确实存在没有rmnet0的参数输出。 image

我试了是正常的,你手机有没有关掉wifi?界面也关掉wifi开关

哦你是用api是吧,要自己处理一下,如果是用界面测试不会有这种情况

我用华为Mate50Pro测试了一下移动网络的情况,确实存在没有rmnet0的参数输出。 image

我试了是正常的,你手机有没有关掉wifi?界面也关掉wifi开关

都关掉了,界面和手机WIFI都关闭了。4G网络。是不是这个参数也有Android系统版本的差异?

@mutexz
Copy link

mutexz commented Nov 23, 2023

哦你是用api是吧,要自己处理一下,如果是用界面测试不会有这种情况

并不是哦,如图,我又在界面测试了抖音的效果,网络和FPS没有数据,终端疯狂刷错误🤣 image
image

你是自己调试,还是用python -m solox?

红米K50Ultra,MIUI14.0.11,安卓13,流量环境下,使用 python -m solox执行。

顺便说一句,我重写了builtin_adb_path() 函数,因为它一直调用solox自带的。

def builtin_adb_path():
    return r"D:\01_software\platform-tools\adb.exe"

这里可以做一个兜底判断,正则匹配失败的话,直接返回0和异常信息,这样控制台也不打印报错

@rafa0128
Copy link
Member

界面是返回0啊,异常信息是给开发者看的。我的设备没出现你们的问题。不要改solox的代码,换一台手机试试。

@Zolliner
Copy link
Author

我还原了代码也是同样的问题,终端和界面,在安卓13下无法获取流量的数据,可能是安卓13修改了某些内容。
所以,较高版本的安卓可能需要在WiFi下测试网络比较合适

@mutexz
Copy link

mutexz commented Nov 23, 2023

我还原了代码也是同样的问题,终端和界面,在安卓13下无法获取流量的数据,可能是安卓13修改了某些内容。 所以,较高版本的安卓可能需要在WiFi下测试网络比较合适

我这一样,打算自行搜索一下这个问题

@rafa0128
Copy link
Member

如果找出问题,提个PR看看,我没手机搞了。不影响旧版本就行,应该是用rmnet_data的数据,兼容一下

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants