相关疑难解决方法(0)

如何获得比"TOP命令"更高的"CPU%"精度?

当我使用TOP命令时,我可以得到以下信息:

shell@android:/ $ top -n 1                                                     

User 31%, System 10%, IOW 0%, IRQ 0%
User 346 + Nice 10 + Sys 120 + Idle 637 + IOW 6 + IRQ 0 + SIRQ 2 = 1121

  PID PR CPU% S  #THR     VSS     RSS PCY UID      Name
  481  1  26% S    89 762832K  81688K  fg system   system_server
 1699  0   5% S    27 676472K  39092K  fg u0_a72   wm.cs.systemmonitor
11243  0   3% S    28 673140K  29796K  bg u0_a111  com.weather.Weather
13327  2   1% S …
Run Code Online (Sandbox Code Playgroud)

linux android cpu-usage

11
推荐指数
1
解决办法
2万
查看次数

是否可以使用adb命令通过查找其ID来点击视图?

假设我有一个应用程序(在调试/发布版本中,由我自己制作),它具有特定视图的ID.

是否可以调用adb命令单击此视图?

我知道可以点击特定的坐标,但是可以使用ID吗?

我问这个是因为我知道"布局检查器"工具(可通过Android Studio获得)和"查看层次结构"工具(可通过"Android设备监视器"获得,以前通过DDMS使用)可以显示视图的ID(和甚至他们的坐标和边界框),所以也许它可以是一个更好的方法来模拟执行一些自动测试时的触摸.

如果需要,我可以使用root方法.


编辑:我设置了一个赏金,万一有一个比我自己的答案更容易/更好的方式,这是解析"adb shell dumpsys活动顶部"的结果.

我想知道是否可以获得屏幕上显示的视图坐标(以及当然的大小),包括关于它们的更多信息(以识别每个).这也应该可以通过设备实现.也许某些东西与"监视器"工具提供的输出数据相同:

在此输入图像描述

请注意它如何获取视图的基本信息,包括文本,id和每个视图的边界.

正如我所读到的,这可能是通过AccessibilityService实现的,但遗憾的是我无法理解它是如何工作的,它的功能是什么,如何触发它,它的要求是什么等等......

android adb android-view

8
推荐指数
1
解决办法
2751
查看次数

如何在Android上获取活动在前台活动的时间

如何在Android中获取活动在前台的时间量.对于Ex.如果今天使用watsapp 1小时,那么如何以编程方式将watsapp激活一小时.

android foreground usage-statistics android-activity

5
推荐指数
1
解决办法
623
查看次数

android dumpsys权限拒绝

我有一个应用程序,我在其中创建一个进程并调用dumpsys telephony.registry命令来获取有关移动网络状态的信息。

String[] cmds={"dumpsys telephony.registry"};
Process p = Runtime.getRuntime().exec(cmds [0]+"\n");
Run Code Online (Sandbox Code Playgroud)

然后我解析命令的结果。对于"ls"或其他命令它工作正常。对于 dupmsys 我得到Permission Denial: can't dump telephony.registry from pid-953, uid=10090. 对于dumpsys power或 其他 dumpsys 命令,我得到相同的错误结果。

我已经android.permission.DUMP按照此处的建议android Manifest 中设置了 DUMP 权限

我认为我这样做是正确的,因为 Android在这里提供了这个功能

我还完成了此处描述的步骤以强制 eclipse 允许我在清单中授予我的应用程序 DUMP 权限。

当我执行 dumpsys 命令时,我总是得到相同的结果

Permission Denial: can't dump telephony.registry from pid-953, uid=10090

难道我做错了什么?为什么 android 操作系统仍然拒绝我访问转储服务?

PS 我已经设置了最小 API 8,我正在运行 (ICS) API 15 的设备上测试应用程序

shell android dump

4
推荐指数
2
解决办法
1万
查看次数