Android包的安装步骤 -- installation 领域 android 相关 的问题

The installation steps of android package


3
vote

问题

中文

我只是想知道完整的步骤。
Android是否只将应用程序包复制到另一个位置?
何时运行应用程序,android解压缩App包每次?

英文原文

I just want to know the full steps.
Does Android just copy the application package to another location?
when to run the application, the android unzip app package every times?

  
     
     

回答列表

6
 
vote
vote
最佳答案
 

否,每次都没有解压缩包裹。 Dalvik-Cache是​​存储DEX(Dalvik可执行文件)文件的缓存的位置。

我知道系统应用程序在首次启动时缓存,如果缓存不存在。用户应用程序,如果我不得不猜测,将在安装或首次推出时完成。

缓存后,它不必更新该缓存,直到应用程序更新,这就是我认为它在安装过程中发生的原因。但是也可以从APK中读取清单并查看它启动时的版本。如果版本与缓存中的版本不同,则可以重新缓存它。

编辑
我想在这一点上建立。 我刚刚清除了我的dalvik-cache并重新启动了我的设备。通过DDMS引导,通过DDMS观看设备LOGCAT显示它在启动时执行系统应用程序和"用户" 应用程序。

packagemanager"收集" APK的证书。然后它解开APK。 PackageParser存储APK具有的任何权限。

所以当设备靴子(如果aspks自上次启动以来的eps发生变化时,这些步骤都已完成,或者清除Dalvik-Cache)。但是,在安装APK以来,自PackageManager&amp以来将完成相同的过程; PackageParser是处理过程的PackageSer。

edit2
这不仅仅是"运行" 过程,这就是安装应用程序时会发生的事情。 Dalvik-Cache作用于应用程序的"注册" 。但在安装期间,该应用程序还与系统的任何"接收器" 注册。这些就像是侦听器,了解发生的特定操作,它致电的链接是什么类型的。没有像Windows注册表这样的注册表,但是,操作系统会跟踪安装的应用程序,以及可以启动应用程序的操作。

 

No, it does not unzip the package every time. The dalvik-cache is where is stores the cache of the the dex (The dalvik executables) files.

I know system apps are cached when the device is first booted, if the cache does not exist. User apps, if I had to guess, would be done when installed or first launched.

After it is cached, it will not have to update that cache until the application is updated, which is why I think it happens in the install process. But it is also possible to just read the Manifest from from the APK and see what version it is when it is launched. If the version is different then the version in the cache, it could re-cache it.

edit
I want to build on this a little. I just cleared my dalvik-cache and rebooted my device. Watching the device logcat through DDMS while it booted shows that it does system apps and "users" apps at boot up.

The PackageManager "collects" the certs of the apk. then it unpacks the apk. The PackageParser stores any permissions that the APK has.

So these steps are done when the device boots (if the apks changed since the last boot, or the dalvik-cache was cleared). But this same process would be completed when the APK is installed, since the PackageManager & PackageParser are the ones that handle the process.

edit2
This isn't just the "run" process, this is what happens when the app is installed. The dalvik-cache acts as sort of the "registration" of the application. But during install, the app also registers with the system any "receivers" that it has. These are like the listeners for specific actions that happen, what type of links it handles, things like that. There is not a registry like the windows registry, but yes, the OS keeps track of the applications that are installed, and the actions that can launch the application.

 
 
 
 

相关问题

0  阻止应用程序安装在AVD环境中?  ( Blocking apps to be installed in avd environment ) 
开发人员是否可能阻止他们的Google Play应用程序在AVD安装,或者我只是选择不支持的AVD配置文件?我正在尝试将应用程序安装到AVD并在更受控的环境中调试,但是,它说: 您的设备与此版本不兼容 所以,它不是错误消息。在安装应用程序之前它是Google播放消息。 ...

13  试图安装新应用时“存储不足”  ( Insufficient storage when trying to install new app ) 
每次安装新应用程序时,我都会收到消息"不足" ,无法安装 ! 我正在使用三星gt19060我的内存是8GB。我还没有下载任何东西,但随时我试图下载它会告诉我低内存空间。 ...

48  如何在我的Android设备上安装Google Apps包(播放商店,......)?  ( How can i install the google apps package play store on my android device ) 
我最近安装了一个自定义ROM,找不到播放商店。似乎缺少属于谷歌的所有应用。 如何在我的Android设备上安装Google Apps包(播放商店,......)? ...

1  安装循环Android 4.4.2 Galaxy Core II  ( Install loop android 4 4 2 galaxy core ii ) 
昨天我收到了我的三星Galaxy Core II(SM-G355HN)的更新。我下载了更新并试图安装它。我收到了大约94%,我收到了 error code [6] in cache/fota/update.zip 。我试图做一个硬重置,但我无法进入恢复模式。当安装失败时,我的手机将重新启动两次,一次只需屏幕,即 Sa...

1  我正在努力下载蓝kik,但它一直在给我'未安装的应用程序'消息  ( Im trying to download blue kik but it keeps giving me the app not installed ) 
我正在使用一个tcl lx(我不会怀疑是问题,因为手机有多糟糕),我正在寻找一个简单的解决方案。我尝试多次安装它,删除和重新下载APK,但似乎没有任何工作。 ...

3  我应该在哪里安装Toybox?  ( Where should i install toybox ) 
我拥有一个rooted三星galaxy s继承4g运行股票和roid4.1.2。 如果您有Android 6.0"Marshmallow" 或更好,那么您有 toybox 。这是一包命令行工具,为有时使用终端仿真器的高级用户提供方便。不幸的是,Android 4.1.2不包括Toybox。相反,它包括一些与使用不太好...

21  为什么我有足够的存储时无法安装应用程序?  ( Why cant i install apps when i have enough storage ) 
在"设置" > "SD卡和amp;电话存储设置" 在"内部电话存储" 下,它将"可用空间" 列为13.78MB。我正在尝试安装2.38MB的应用程序。为什么我会得到"可用的不足" 错误消息?我显然有足够的空间。 如果它是相关的,我的手机就是LG Optimus v。 ...

3  手动安装Split APK  ( Install split apk manually ) 
最近我必须知道一个名为split apks的东西,并发现切片作为无效的apk文件,只有基础是。不幸的是,这意味着通常的默认包安装程序无法处理此操作,因此我必须知道另一件名为SAI的东西,一个拆分APK安装程序,能够与或没有root工作。然而,好奇,我想知道它是如何在内部工作的,并开始做一些研究。我没有走得太远,但我必...

6  我如何在Android上安装Firefox,没有服务或Google帐户?  ( How can i install firefox on an android with no service or google account ) 
这是一个非常窄的用例,手机只用作移动GUI环境。手机没有服务且与Google帐户无关,因此无法访问Google Play。是否有另一种方式安装Firefox? ...

2  重新安装设置应用程序。  ( Re install settings application ) 
我已经编译了android源代码并获得settings.apk现在我想知道我可以在手机上安装该应用程序吗?当我尝试这样做的时候,我的手机说"无法安装应用程序" 我可以做什么来安装该应用程序? ...

0  是否有可能通过PC从Google Store安装/更新应用程序?  ( Is it possible to install update apps from google store via pc ) 
几个月前,我被迫卸载一些应用程序以更新其他应用程序。最近我丢失了通过Gmail接收电子邮件通知的能力(然而,搜索工作)。所有因为垃圾应用程序Google Play和Google Play服务,不断增长。我计划完全卸载它们,至少重新恢复我手机前期前2年的功能。 但是,如果我必须进行一些应用程序的更新,或者我想安装新的应...

18  没有网上安装Android应用程序是否有任何方法?  ( Is there any way to install android app without having internet ) 
我刚买了三星Galaxy Mini S,但我没有3G或Wi-Fi Internet - 我只在我的电脑上有互联网。是否有任何方法可以通过蓝牙或使用USB电缆安装Android应用程序,或使用USB电缆? (我的电脑上有蓝牙)。 如果可以安装应用程序,而不是下载应用程序的应用程序?市场不会让我将它们下载到我的电脑。 ...

4  储存不足,即使是用于内部空间和充足的空间格式化的棉花糖SD卡  ( Insufficient storage even with marshmallow sd card formatted for internal space ) 
当我尝试从播放商店安装一个应用程序时,我得到"存储不足" 消息,但我的SD卡上有20 GB,该卡格式化了内部存储。我正在使用Moto第2代。为什么我不能安装新的应用程序? ...

125  我可以在我的非Android设备上安装Android吗?  ( Can i install android on my non android device ) 
许多人想要尝试/使用Android而不购买新的Android手机。如何在运行诺基亚Symbian,Maemo或MeeGo的当前手机或设备上安装Android; Microsoft Windows Mobile或Windows Phone 7/8/10; Apple iOS(iPhone); RIM的BlackBerr...

1  在Nexus 7(2013)平板电脑上升级Android 4.3至4.4.2时出错  ( Error when upgrading android 4 3 to 4 4 2 on nexus 7 2013 tablet ) 
我有一个全新的Google Nexus 7(2013)LTE平板电脑和我所做的第一件事,是检查我的设备是否有任何SYS更新。它是。系统报道了4.3 - > 4.4.2更新已准备好下载和安装。 但是,更新和击中按钮安装后,我收到了 Error 消息和一个droid说谎图标。在此之后,我的平板电脑已重新启动并恢复...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.