安卓手机如何打开apk文件格式


安卓手机如何打开apk文件格式  

直装apk的工具可以看作是微软安卓兼容计划Project Astoria内测工具的一部分。其工作原理在于,首次通过wconnect链接手机并成功配对后,将工具debugger目录下的agent包传输到手机中,由手机内的Astoria platform执行。这一过程可以分为两个部分:

建立一个adb的服务器端,接受来自adb的连接请求和安装包。然后,将安装包以project astoria要求的方式部署在AoW子系统中。

那么appx又是怎样一回事呢?

在兼容安卓的这件事情上,微软已经部署了AoW作为子系统。最终运行的还是基于安卓的代码(无论是基于sdk的java还是基于NDK的c的运行时)。换句话说,转制appx只是为apk添加了一个外壳。

以转制成appx后的京东app为例,解包后我们可以看到一个名为wpxap.apk的文件,其大小与京东app的apk相同,意味着京东的apk被原封不动地打包在appx的外壳内。除此之外,还有四个文件,这些文件是在手机AoW中部署apk的指导模板。这些模板文件来源于哪里呢?答案是直装apk中的agent.zip。在解开agent.zip后,包含一堆用于在手机中建立调试环境和adb连接的库,其中就包括解压缩的库和一个templates目录,即安装模板。我们可以在templates目录下的phonearm下找到这4个核心文件。

那么原理就很清晰了:

1. appx主要是将微软的安装apk模板作为appx的主体执行程序,把apk作为资源。利用appx的部署格式将apk复制到系统内部,然后执行安装模板进行部署。这也是为什么appx需要打开开发者模式的原因,因为这是微软内测项目的安装模板。

2. 而apk则是直接利用微软的工具,在电脑和win10手机之间建立一条adb隧道,通过很安卓化的adb命令将apk传入手机,然后利用安装模板进行安装。

  安卓手机如何打开apk文件格式