报错提示qdcmd = 'adb shell am start -W -S ' + get_packname + '/' + app_act TypeError: can only concatenate str (not "function") to str
时间: 2024-04-15 22:29:55 浏览: 13
这个错误提示意味着你在字符串拼接时,将一个函数对象当作字符串进行拼接了。
在你的代码中,`get_packname` 是一个函数,而你希望将其返回的结果作为字符串拼接到 `qdcmd` 中。为了解决这个问题,你需要调用 `get_packname` 函数并将其结果转换为字符串形式,然后再进行字符串拼接。
以下是一个修正后的示例代码:
```python
qdcmd = 'adb shell am start -W -S ' + str(get_packname()) + '/' + app_act
```
在这个示例中,通过 `get_packname()` 调用函数并使用 `str()` 函数将结果转换为字符串,然后与其他字符串进行拼接。
确保 `get_packname` 返回的是一个可以转换为字符串的值,例如一个字符串类型的包名。如果 `get_packname` 返回的是一个列表或其他类型的对象,你需要根据具体情况进行相应的处理。
相关问题
adb shell am start -W -n [package_name]/[activity] 返回的结果信息,各个参数的含义
执行命令 `adb shell am start -W -n [package_name]/[activity]` 后,返回的结果信息中,各个参数的含义如下:
- Starting: 表示启动应用程序的开始。
- Activity: 表示启动的活动的完整名称。
- ThisTime: 表示启动应用程序所需的时间,单位为毫秒。
- TotalTime: 表示启动应用程序的总时间,包括系统启动时间和应用程序启动时间,单位为毫秒。
- WaitTime: 表示启动应用程序时等待的时间,单位为毫秒。
- Complete: 表示启动应用程序的完成。
- Status: 表示启动应用程序的状态,通常为 OK。
例如,以下是启动包名为 com.example.app 的应用程序的 Main Activity 返回的结果信息:
```
Starting: Intent { cmp=com.example.app/.MainActivity }
Status: ok
Activity: com.example.app/.MainActivity
ThisTime: 3000
TotalTime: 3500
WaitTime: 500
Complete
```
其中,启动应用程序所需的时间为 3000 毫秒,启动应用程序的总时间为 3500 毫秒,等待时间为 500 毫秒。
执行 adb shell tcpdump -i any -s 0 -w /sdcard/http.pcap 提示/system/bin/sh: tcpdump: inaccessible or not found
这个错误提示意味着你的设备上没有安装 `tcpdump` 工具,或者该工具无法访问。请确保你已经在设备上安装了 `tcpdump` 工具,并在使用 `adb shell` 命令时具有足够的权限。如果你没有安装 `tcpdump` 工具,可以尝试使用以下命令在设备上安装:
```
adb shell su -c "apt update && apt install tcpdump"
```
这将使用 `su` 命令获取 root 权限,并在设备上执行 `apt update` 和 `apt install tcpdump` 命令以安装 `tcpdump` 工具。如果你的设备上没有安装 `apt` 包管理器,你可以尝试使用其他适合你的设备的包管理器。