Win10 Mobile安装安卓APK和Appx转制原理分析:一个妈生的

createh52个月前 (04-08)技术教程15

IT之家此前详细报道了Win10 Mobile系统安装安卓APK应用的消息,利用微软Project Astoria内测项目泄露工具可以实现。另外还有开发者将APK应用转换成Appx应用,但本质原理是一样的。下面是IT圈网友BlackD为大家带来的详细剖析。

首先直装apk的工具可以认为是微软安卓兼容计划Project Astoria的内测工具的一部分,其原理是在第一次用wconnect链接手机配对成功后,将工具debugger目录下的agent包传入手机,由手机内的Astoria platform执行,分为2个部分:

1.建立一个adb的server端,接受来自adb的连接请求和安装包。

2.将安装包以project astoria要求的方式部署在AoW子系统中

那appx又是怎么回事呢?

首先我们可以肯定在兼容安卓这个事情上,微软已经部署了AoW作为子系统,所以最终运行的还是安卓的代码(基于sdk的java或者机遇NDK的c)的运行时,而非真正的wp10的appx。所以这个转制appx只是给apk封装了一层皮。

首先我们把转制成appx后的京东app解包看下:

很明显有一个wpxap.apk,这个包尺寸和京东app的apk是一样的,也就是原封不动的把京东的apk打包在了appx的外壳内。

然后看用红框标注的4个文件,这4个文件是在手机AoW中部署apk的指导模板。那这四个文件哪里来的呢?

我们继续解包直装apk大法中,agent.zip,在agent.zip解开后,是一堆调试运行在手机中建立调试环境和adb连接的库,甚至包括解压缩的一些库。其中有一个templates目录,就是安装模板。

可以在templates目录下的phone\arm下找到如下文件:

对了,这4个文件就是appx转制大法的核心,利用这个安装模板在机器内部解压部署apk。

appx里剩下的蓝色框的文件其实是appx都有的一些常规图标,签名,配置文件,可以参考下IT之家WP版的appx结构。

那么原理就很清楚了:

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

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

本篇文章原出自IT圈——《直装apk和appx转制原理分析--一回事

相关文章

一机多用?Win10可运行安卓和iOS应用

| 责编:蔡文清中关村在线消息:2015年4月30日凌晨,微软Build 2015开发者大会如期召开。微软为开发者提供了更加广阔的开发方案,当晚最重要的一个就是Windows 10可以将App应用从A...

如何在Windows10中配置java的JDK环境

今天给大家分享一下如何配置java的JDK环境。操作步骤如下:1.下载好 jdk 的安装文件,我下载的是 jdk-10.0.1_windows-x64_bin.exe 这个版本的安装文件;2.使用鼠标...

JAVA开发环境搭建:WIN10安装JDK

下载从Oracle官方网站下载JDK安装包很是麻烦,建议从百度资源下载(地址:https://packages.baidu.com/app/jdk-8/安装初学者建议将JDK安装至默认位置(启动安装程...

Windows 10 真跨平台应用,并支持 Android/iOS 应用快速移植

对,多数人都在等待的 Windows 10 相关信息终于得到发布。根据微软提供的信息,Windows 系统目前为止提供的 111 种不同语言版本在 190 个国家共拥有 15 亿用户。首先,微软宣布为...

能让 Windows 10 运行 Android 应用的 "Project Astoria" 是这么回事

今天,微软正式上线了 "Project Astoria"主页,允许开发者注册并参与该计划,同时也对“兼容”细节做了阐释。据官网描述,开发者可以直接将现有的 .apk 应用安装包上传至 Windows...

以后,我们都是 Windows 开发者

北京时间 4 月 28 日晚微软在旧金山举行了 2015 年度 Build 大会。正如之前的推测,开发者和 Windows 10 都是此次大会的重中之重。Windows 10 将实现“大一统”,让开发...