读趣网

PackageManager分析

简介: Android应用程序安装过程源代码分析_IT/计算机_专业资料。Android基础Android 系统在启动的过程中,会启动一个应用程序管理服务 PackageManagerService,这个服务负 责扫描......

1. PackageManager.java是一个抽象类,在

frameworks\base\core\java\android\content\pm\PackageManager.java中定义,其中只定义了所有在SDK中声明的抽象方法,还有一些静态常量。activity manager等其他部分都是调用这个抽象类的接口来做工作的,也就是说这个抽象类是Package Manager跟其他部分的对外接口:

public abstract class PackageManager {}.

2. .实现PackageManager这个抽象类的是\frameworks\base\core\java\android\app\下面

的ApplicationPackageManager.java:

static final class ApplicationPackageManager extends PackageManager {}

实际上,\frameworks\base\core\java\android\app\这个目录下面就是所有的app会使用到的类啦,包括activity manager等。

而ApplicationPackageManager这个类又是通过调用IPackageManager这个接口中的函数来实现相应功能的。举例来讲,对于getPackageInfo这个routine,

ApplicationPackageManager的实现如下:

public PackageInfo getPackageInfo(String packageName, int flags) throws NameNotFoundException {

try {

PackageInfo pi = mPM.getPackageInfo(packageName, flags);

if (pi != null) {

return pi;

}

} catch (RemoteException e) {

throw new RuntimeException("Package manager has died", e);//从这里也可以看出,这是对一个service的远程调用

}

throw new NameNotFoundException(packageName);

}

这个mPM就是IPackageManager,是ApplicationPackageManager这个类的一个成员,定义为:

private final IPackageManager mPM;


相关文章

ANR分析

ANR分析_计算机软件及应用_IT/计算机_专业资料。ANR: ANR 就是 Application Not...43.671 W/PackageManager( 2466): Unknown permission com.wsomacp.permission.......


Android Framework框架分析

Android framework analysis (partI zt) Android Framework 分析 (一) 1.目录树...PackageManager,ContentManager,Co ntentProvider, BatteryService,HardwareService,......


Android Package管理机制详解

(包的数据路径) 三、主要功能的详细分析 1.installer VS installd java层 PackageManagerServic e call installer class Socket connect c层 init.rc launch ......


Android Framework框架分析

Android framework analysis (partI zt) Android Framework 分析 (一) 1.目录树...PackageManager,ContentManager,Co ntentProvider, BatteryService,HardwareService,......


Android应用程序框架深入浅出

PackageManagerService 之 main 函数剖析 1.构造函数剖析之前期准备工作 2.构造...InputManager.java InputMonitor.java 等的分析 2.Activity 启动过程中创建窗口的......


LauncherProvider解析

清空 mAllAppsList mAllAppsList.clear(); step3.packageManager 查询所有应用 ...(); } 指定的生成性能分析的路径是:/Usb/launcher,启动 launcher 后我们会......


彻底精通Android系统架构与实战

PackageManagerService( 40 分钟) 1 框架介绍 2 如何管理 apk 3 Apk 在内置存储...SurfaceFlinger 服务的启动过程分析; 7. SurfaceFlinger 服务对帧缓冲区(Frame ......


android_启动过程分析

android_启动过程分析_计算机软件及应用_IT/计算机_专业资料。android_启动过程分析...ManagerService.java,ActivityThread.java run:ActivityManagerService.java,Package......


android packagemanager解析

android packagemanager解析_计算机软件及应用_IT/计算机_专业资料。PackageManagerService...推理型题分析与总结文档贡献者 liaway 贡献于2014-06-30 专题推荐 2014教......