Android Service命令

service可给Android 服务传消息,具体用法如下:

Usage: service [-h|-?]
       service list
       service check SERVICE
       service call SERVICE CODE [i32 INT | s16 STR] ...
Options:
   i32: Write the integer INT into the send parcel.
   s16: Write the UTF-16 string STR into the send parcel.

在Android 4.2.2模拟器上运行如下命令:

adb shell service list

Found 68 services:

0    phone: [com.android.internal.telephony.ITelephony]

1    iphonesubinfo: [com.android.internal.telephony.IPhoneSubInfo]

2    simphonebook: [com.android.internal.telephony.IIccPhoneBook]

3    isms: [com.android.internal.telephony.ISms]

4    dreams: [android.service.dreams.IDreamManager]

5    commontime_management: []

6    samplingprofiler: []

7    diskstats: []

8    appwidget: [com.android.internal.appwidget.IAppWidgetService]

9    backup: [android.app.backup.IBackupManager]

10    uimode: [android.app.IUiModeManager]

11    serial: [android.hardware.ISerialManager]

12    usb: [android.hardware.usb.IUsbManager]

13    audio: [android.media.IAudioService]

14    wallpaper: [android.app.IWallpaperManager]

15    dropbox: [com.android.internal.os.IDropBoxManagerService]

16    search: [android.app.ISearchManager]

17    country_detector: [android.location.ICountryDetector]

18    location: [android.location.ILocationManager]

19    devicestoragemonitor: []

20    notification: [android.app.INotificationManager]

21    updatelock: [android.os.IUpdateLock]

22    throttle: [android.net.IThrottleManager]

23    servicediscovery: [android.net.nsd.INsdManager]

24    connectivity: [android.net.IConnectivityManager]

25    wifi: [android.net.wifi.IWifiManager]

26    wifip2p: [android.net.wifi.p2p.IWifiP2pManager]

27    netpolicy: [android.net.INetworkPolicyManager]

28    netstats: [android.net.INetworkStatsService]

29    textservices: [com.android.internal.textservice.ITextServicesManager]

30    network_management: [android.os.INetworkManagementService]

31    clipboard: [android.content.IClipboard]

32    statusbar: [com.android.internal.statusbar.IStatusBarService]

33    device_policy: [android.app.admin.IDevicePolicyManager]

34    lock_settings: [com.android.internal.widget.ILockSettings]

35    mount: [IMountService]

36    accessibility: [android.view.accessibility.IAccessibilityManager]

37    input_method: [com.android.internal.view.IInputMethodManager]

38    input: [android.hardware.input.IInputManager]

39    window: [android.view.IWindowManager]

40    alarm: [android.app.IAlarmManager]

41    vibrator: [android.os.IVibratorService]

42    battery: []

43    hardware: [android.os.IHardwareService]

44    content: [android.content.IContentService]

45    account: [android.accounts.IAccountManager]

46    user: [android.os.IUserManager]

47    permission: [android.os.IPermissionController]

48    cpuinfo: []

49    dbinfo: []

50    gfxinfo: []

51    meminfo: []

52    activity: [android.app.IActivityManager]

53    package: [android.content.pm.IPackageManager]

54    scheduling_policy: [android.os.ISchedulingPolicyService]

55    telephony.registry: [com.android.internal.telephony.ITelephonyRegistry]

56    display: [android.hardware.display.IDisplayManager]

57    usagestats: [com.android.internal.app.IUsageStats]

58    batteryinfo: [com.android.internal.app.IBatteryStats]

59    power: [android.os.IPowerManager]

60    entropy: []

61    sensorservice: [android.gui.SensorServer]

62    media.audio_policy: [android.media.IAudioPolicyService]

63    media.camera: [android.hardware.ICameraService]

64    media.player: [android.media.IMediaPlayerService]

65    media.audio_flinger: [android.media.IAudioFlinger]

66    drm.drmManager: [drm.IDrmManagerService]

67    SurfaceFlinger: [android.ui.ISurfaceComposer]

envsetup.sh中揭示了几条未揭露的adb shell命令:

1.绑定port启动ViewServer

adb shell service call window 1 i32 $port

2.停止ViewServer

adb shell service call window 2

3.检查ViewServer是否正在运行

adb shell service call window 3

4.按home键(详见KeyEvent.java中的定义)

adb shell input keyevent 3

5.按back键

adb shell input keyevent 4

6.按menu键

adb shell input keyevent 82

7.ViewRootImpl.java

设置系统属性“viewancestor.profile_rendering”为true能强制当前窗口以60 HZ渲染。它可用作度量潜在帧率。

8.显示fps

dumpsys gfxinfo activity_name

adb shell service call SurfaceFlinger 1013 来源见SurfaceFlinger.cpp中函数onTransact的switch片段,使用见

surface_stats_collector.py

原文地址:https://www.cnblogs.com/fanfeng/p/3207656.html