赞
踩
上一篇文章介绍到最后通过 IBinder::shellCommand 调用到 PMS 中的 onShellCommand 方法。这里我们就来分析一下 PMS 中的处理流程。
源码位置:/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
- @Override
- public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err, String[] args, ShellCallback callback, ResultReceiver resultReceiver) {
- (new PackageManagerShellCommand(this, mPermissionManagerService)).exec(this, in, out, err, args, callback, resultReceiver);
- }
这里创建 PackageManagerShellCommand 对象并调用它 exec 函数的进行处理。 而该函数又是继承自其父类 ShellCommand。
源码位置:/frameworks/base/core/java/android/os/ShellCommand.java
public int exec(Binder target, FileDescriptor in, FileDescriptor out, FileDescriptor err, String[] args, ShellCallback callback, ResultReceiver resultReceiver) {
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。