dumpsys window windows | grep -E 'mCurrentFocus' | cut -d'/' -f1 | rev | cut -d' ' -f1 | rev /system/bin/sh: rev: inaccessible or not found /system/bin/sh: rev: inaccessible or not found
时间: 2024-03-01 10:50:28 浏览: 22
很抱歉,`rev` 命令在某些 Android 系统中可能没有安装或不可用。你可以使用 Python 的字符串操作来实现字符串反转的功能。下面是一个示例代码:
```python
output = "mCurrentFocus=Window{c43ba6c u0 com.rxgb.launcher/com.rxgb.launcher.activity.MainActivity}"
package_name = output.split(" ")[-1].split("/")[0]
package_name = package_name[::-1].split(".", 1)[-1][::-1]
print("Package Name:", package_name)
```
这个代码会输出当前屏幕上的应用程序包名,结果类似于:
```
Package Name: com.rxgb.launcher
```
这里使用了 Python 的字符串操作来实现字符串反转的功能,可以避免使用 `rev` 命令。具体来说,首先使用 `split()` 方法将字符串按空格分割成一个列表,然后取列表中最后一个元素,再使用 `split()` 方法将该元素按 "/" 分割成一个列表,取列表中第一个元素。接下来,使用字符串的切片操作 `[::-1]` 将字符串反转,然后再次使用 `split()` 方法将反转后的字符串按 "." 分割成一个列表,取列表中第一个元素,最后再次使用切片操作将字符串反转回来即可。
相关问题
adb shell dumpsys window windows | grep -E 'mCurrentFocus' 无反应
如果您在运行 adb shell dumpsys window windows | grep -E 'mCurrentFocus' 命令时没有看到任何输出,则可能是由于以下原因之一:
1. 设备上没有活动的应用程序:如果设备上没有活动的应用程序,则该命令将不会返回任何输出。请打开应用程序并确保该应用程序已处于活动状态,然后再次运行该命令。
2. 设备上的权限问题:某些设备可能需要 root 权限才能运行该命令。请确保您的设备已获得 root 权限,然后再次运行该命令。
3. adb 驱动程序问题:如果您的设备与计算机连接时没有正确安装 adb 驱动程序,则该命令可能无法正常工作。请确保您已在计算机上正确安装 adb 驱动程序,并将设备连接到计算机上。
如果您仍然无法获取设备上当前活动的应用程序的界面名称,请尝试使用以下命令来获取设备上的所有窗口信息:
```
adb shell dumpsys window windows
```
这将返回设备上所有窗口的信息,您可以在其中查找包含“mCurrentFocus”关键字的行以获取当前活动的应用程序和界面名称。
dumpsys window | grep -E 'mCurrentFocus' | cut -d/ -f2 | cut -d" " -f1 就要这种
好的,那么这个命令会输出当前屏幕上的应用程序包名,输出结果类似于:
```
com.rxgb.launcher.activity.MainActivity
```
你可以使用字符串的 `split()` 方法进一步将其分割成应用程序包名和窗口名称,具体示例如下:
```python
output = "mCurrentFocus=Window{c43ba6c u0 com.rxgb.launcher/com.rxgb.launcher.activity.MainActivity}"
package_name = output.split(" ")[-1].split("/")[0]
window_name = output.split(" ")[-1].split("/")[-1]
print("Package Name:", package_name)
print("Window Name:", window_name)
```
输出结果如下:
```
Package Name: com.rxgb.launcher
Window Name: com.rxgb.launcher.activity.MainActivity
```
这样就可以得到当前屏幕上的应用程序包名和窗口名称了。