系统之家提供 Windows 系统、Ghost 系统、驱动与常用软件的安全下载及安装教程。 后台管理
📢 欢迎访问系统之家!所有资源均经过安全检测。

Android

发布时间:2026-07-27 | 浏览:1
📥 下载地址(文章开头)
装机神器,可安装一切系统,纯净版,英文版,繁体版 ,精简版,原版等等等
Notifications You must be signed in to change notification settings Files Expand file tree File metadata and controls 包管ç�†æœºåˆ¶ 所谓包,其å®�是一ç§�æ–‡ä»¶æ ¼å¼�,比如apk包ã€�jar包等。包管ç�†è€…一个è�Œèƒ½å°±æ˜¯è¯†åˆ«ä¸�å�Œçš„包,维护这些包的信æ�¯ã€‚当有一个新的包进入或离开Android世界,都需è¦�å�‘包管ç�†è€…申报一下,其他管ç�†éƒ¨åˆ†è¦�è�·å�–包的具体信æ�¯ï¼Œä¹Ÿéƒ½éœ€è¦�å�‘包管ç�†è€…申请。包管ç�†æœºåˆ¶çš„æ ¸å¿ƒæ˜¯PackageManagerService(下文称PMS),它负责对包进行管ç�†ã€‚ apk的安装方法 开机过程中安装:系统在æ¯�次开机会安装系统应用 adb工具安装:adb命令安装apk 手动安装:平时下载的apk,通过系统安装器PackageInstaller(它是系统内置的应用程åº�,用äº�安装和å�¸è½½åº”用程åº�)æ�¥å®‰è£…apk,是有安装界é�¢çš„ 商店应用安装:商店上安装app,没有安装界é�¢ PackageInstaller 它是安å�“的一个系统app,用æ�¥å®‰è£…å’Œå�¸è½½app的。 我们主è¦�æ�¥åˆ†æ��一下手动安装apk的情况,系统会打开一个安装界é�¢ï¼Œæˆ‘们å�¯ä»¥ç»§ç»­å®‰è£…å’Œå�–消,应该大家都比较熟悉。这个界é�¢å°±æ˜¯PackageInstaller这个app中的PackageInstallerActivity。 安装之å‰�的过程 当我们点击安装的时候,会跳转到å�¦ä¸€ä¸ªç•Œé�¢InstallInstalling,最终会将需è¦�安装的apkä¿¡æ�¯é€šè¿‡PackageInstallerSessionä¼ ç»™PMS。 ä»�这里开始,就æ�¥åˆ°äº†PMS,installStage()方法就是正å¼�安装apk的过程了。整个apk的安装过程大致分为2步: æ‹·è´�安装包 æ‹·è´�安装包 ç›´æ�¥æ�€åˆ°PMSçš„installStage方法,看看æµ�ç¨‹æ˜¯ä»€ä¹ˆæ ·çš„ 注æ„�到,上é�¢çš„代ç �å�ªä¸�过是å�‘了个消æ�¯ï¼Œæˆ‘们看看是æ€�么处ç�†è¿™æ�¡æ¶ˆæ�¯çš„ æŠŠMessageçš„objå�–出æ�¥ï¼Œå®�际上就是之å‰�ä¼ å…¥çš„InstallParams,直æ�¥å�»InstallParamsçš„startCopy()方法 å�Ÿæ�¥InstallParams自己并没有å®�ç�°startCopy方法,而是由父类HandlerParamså®�ç�°çš„,里é�¢å�ªæœ‰2个抽象方法,这2个抽象方法都是å­�ç±»å�»å®�ç�°çš„。这里其å®�用到了一ç§�设计模å¼�,å�«æ¨¡æ�¿æ–¹æ³•。下é�¢æˆ‘们继续看handleStartCopy()å’ŒhandleReturnCode()çš„å­�ç±»å®�ç�°ï¼Œå…ˆçœ‹handleStartCopy()。 在handleStartCopy()方法中,我们å�ªéœ€è¦�知é�“它创建了安装å�‚数对象InstallArgså�³å�¯ã€‚ç„¶å��在handleReturnCode()方法中会用到它 利用之å‰�创建好的InstallArgs对象,å®�际是其å­�ç±»FileInstallArgsç±»å�‹ï¼Œç„¶å��调用其copyApk方法进行安装包的拷è´�æ“�作。 在FileInstallArgsçš„copyApk方法中调用doCopyApk方法,主è¦�干的事情就是3ä¸ªï¼šé¦–å…ˆåˆ›å»ºå®‰è£…åŒ…çš„ç›®æ ‡è·¯å¾„ï¼Œæ–¹ä¾¿å¾…ä¼šå„¿å¤�制到这里æ�¥ï¼Œå®ƒçš„å®�际路径是 /data/app/com.example ;其次将安装包apkæ‹·è´�åˆ°ç›®æ ‡è·¯å¾„ä¸­ï¼›æœ€å��是将apk中的动æ€�库.so文件也拷è´�åˆ°ç›®æ ‡è·¯å¾„ä¸­ã€‚å…¶å®�ç�°éƒ½æ˜¯ä¸€äº›IOçš„æ“�作,就ä¸�继续往下看了。 安装包在这一步骤完æˆ�之å��,就存在äº� /data/app/com.example/base.apk 中了,到这里安装包的拷è´�工作是完æˆ�了。
📥 下载地址(文章中间)
装机神器,可安装一切系统,纯净版,英文版,繁体版 ,精简版,原版等等等
在上é�¢InstallParams#handleReturnCode()中,调用processPendingInstall方法处ç�†å®‰è£…: 安装过程是放å­�线程里é�¢è¿›è¡Œçš„,这里的mHandler用的ä¸�是主线程的Looper,而是一个HandlerThread里é�¢çš„Looper。大致处ç�†æµ�程如下: 预安装:检查当å‰�安装包的状æ€�,确ä¿�安装ç�¯å¢ƒæ­£å¸¸ï¼Œå¦‚æ�œå®‰è£…ç�¯å¢ƒæœ‰é—®é¢˜ä¼šæ¸…ç�†æ‹·è´�文件 安装:真正的安装阶段在installPackagesTracedLI方法中,在里é�¢æ·»åŠ è·Ÿè¸ªTrace,最å��是调用的installPackageLI进行安装 安装收尾工作:检查状æ€�,如æ�œå®‰è£…ä¸�æˆ�åŠŸï¼Œåˆ é™¤æ�‰ç›¸å…³ç›®å½•文件 通知æ“�作:å�‘é€� POST_INSTALL 消æ�¯ï¼Œç„¶å��通过广播ã€�å›�è°ƒæ�¥å�£ç­‰æ–¹å¼�通知系统中的其他组件,有新的Package安装或å�‘生了改å�˜ 所以说installPackagesTracedLI是安装apkçš„æ ¸å¿ƒä»£ç �: installPackagesLI()方法内部é��常å¤�æ�‚,上é�¢ç®€å�•调了一些主æµ�程拿出æ�¥ã€‚ Prepare准备:分æ��任何当å‰�安装状æ€�,分æ��包并对其进行åˆ�始验è¯�。 在这一阶段首先是将apk文件解æ��出æ�¥ï¼Œè§£æ��它的AndroidManifest.xml文件,将结æ�œè®°å½•èµ·æ�¥ã€‚我们平时在清å�•文件中声æ˜�çš„Activity等组件就是在这一步被记录到Framework中的,å��ç»­æ‰�能通过startActivity等方å¼�å�¯åЍæ�¥ ç„¶å��是对签å��ä¿¡æ�¯è¿›è¡ŒéªŒè¯� 设置相关æ�ƒé™� 生æˆ�安装包abi dex优化,å®�际为dex2oatæ“�作,将apk中的dex文件转æ�¢ä¸ºoat文件 在这一阶段首先是将apk文件解æ��出æ�¥ï¼Œè§£æ��它的AndroidManifest.xml文件,将结æ�œè®°å½•èµ·æ�¥ã€‚我们平时在清å�•文件中声æ˜�çš„Activity等组件就是在这一步被记录到Framework中的,å��ç»­æ‰�能通过startActivity等方å¼�å�¯åЍæ�¥ ç„¶å��是对签å��ä¿¡æ�¯è¿›è¡ŒéªŒè¯� 设置相关æ�ƒé™� 生æˆ�安装包abi dex优化,å®�际为dex2oatæ“�作,将apk中的dex文件转æ�¢ä¸ºoat文件 Scan扫æ��:考虑到prepare中收集的上下文,询问已分æ��的包 Reconcile调和:在彼此的上下文和当å‰�系统状æ€�中验è¯�扫æ��的包,以确ä¿�安装æˆ�功 Commitæ��交:æ��交所有扫æ��的包并更新系统状æ€�。这是安装æµ�中唯一å�¯ä»¥ä¿®æ”¹ç³»ç»Ÿçжæ€�的地方,必须在此阶段之å‰�确定所有å�¯é¢„测的错误 完æˆ�APK的安装,å†�次执行dex优化(如有必è¦�),然å��å°†apk的安装æ“�作交给installed进程进行apk的安装 首先将apk的信æ�¯äº¤ç»™PMS进行处ç�†ï¼Œç„¶å��æ‹·è´�apk,然å��装载代ç �,最å��交给installed进程æ�¥å®Œæˆ�安装。 APP的安装过程 应用程åº�安装æµ�程 Android包管ç�†æœºåˆ¶ï¼ˆä¸€ï¼‰PackageInstallerçš„åˆ�始化 APK安装æµ�程详解12——PMS中的新安装æµ�程上(æ‹·è´�) Android10_å�Ÿç�†æœºåˆ¶ç³»åˆ—_PMSçš„å�¯åЍå�Šåº”用的安装过程 Android 10.0 PackageManagerService(四)APK安装æµ�程-[Androidå�–ç»�之路]
📥 下载地址(文章结尾)
装机神器,可安装一切系统,纯净版,英文版,繁体版 ,精简版,原版等等等