作者hungys (hungys)
看板WindowsPhone
标题Re: [情报] Win10M 安装android apk
时间Sun Aug 9 10:30:39 2015
这几天看到不管是版上或是其他论坛
都有很多人不太清楚所谓兼容、转制、重编译...等等
以及 iOS 是不是也可以像 Android 这样直接相容
所以开一篇简单说明一下
=====
Project Astoria:实现 Android apk 兼容,将部分系统功能(如档案系统、分享、FilePicker)、硬体功能(GPS、NFC...)与 Win10M 整合。
Project Islandhood (现称 Windows Bridge for iOS):实现 Objective-C on Windows,需要 Visual Studio 开发工具。
1. Android app 到底需不需要重新编译?
A: 如果只是要跑起来的话,不用。就如目前的状况,Project Astoria 就是「直接兼容」原本的 apk 格式,而需要重新编译的状况是当 app 有使用到 Google Play 服务时(地图、推播...),可以套用微软的 Microsoft Services SDK 来自动导向到微软自己的服务,但编译出来依然是个标准的安卓 apk。据微软文件中的说法,大多数情况下甚至只要修改编译设定档即可。
2. 直接装 Android apk,完美了吗?
A: 至少目前不是。有很多功能是需要与 Win10M 本身系统整合的,例如蓝芽、NFC、GPS 等等,这些硬体的虚拟化都还需要微软的努力。另外,分享功能直接与 Win10M 的分享整合、Android app 的通知整合到 Win10M 的 Action Center、後台机制,这些也都是这个 Project 的核心,也是让 apk 不单单只是可以在 Win10M 跑起来而已。
3. Android apk 转制成 appx 效能会比较好?
A: 至少目前是错的。到时若要把 Android app 上架的确需要包成 appx,但这只是因为要「上架」的标准流程,事实上里面解压出来还是有个 apk。若真的要安装 apk 的话,理论上同样可以透过目前的方式 adb install apk 档案,adb 是开发安卓时本来就会用到的工具,并不是微软自己搞的,所以之後 Project Astoria 继续下去的话应该还是会保留,或是有点类似 JB 後可以直接装自己的 apk 这样。
4. Win10M 里的 Android 版本是?API Level?
A: 目前是 Android 4.4.4 (KitKat),API 19。至於之後正式版会不会是 Android 5.0 以上,因为这部分是无法透过安卓 OTA 的,就看微软了。最简单的方式就是想像里面就是跑着一个 KitKat 这样,虽然应该不是我们一般所谓的虚拟机这麽简单啦。
5. iOS app 是否也可以这样直接兼容?
A: 不行。Project Islandhood 的目标是让 UWP 可以大量「reuse」现有的 Objective-C 程式码,再透过这个 project 中的 compiler、runtime 去编译出 UWP app。所以这并不像 Android 一样是可以直接兼容现有 apk 的。这好处是现有的开发商不需要用 C# 重新编写商业逻辑的 code,大量重用现有 Objective-C 的程式码,需要 Win10M 的功能时依旧可以呼叫 WinRT API。
理解有错欢迎指正。
※ 引述《dannywong3 (安培)》之铭言:
: http://tinyurl.com/pgfnhrm
: 简单来说 要有特定手机安装Win10M 一台PC 还有网路上抓的apk...
: 然後网路上所有的付费安卓apk都可以安装了(吗?)
: 盗版有风险 请自行承担XD
: 等可以输入ㄓㄨ ㄧㄣ的Win10m再来试试看~~
: 不过这个安卓工具会不会又像之前微软出的youtube一样 功能太逆天 又被砍……
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.249.195.80
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/WindowsPhone/M.1439087442.A.05B.html
1F:推 rhino0314: 感谢 长知识 08/09 10:37
※ 编辑: hungys (111.249.195.80), 08/09/2015 10:41:32
2F:推 kenliu100: 推推 大概了解意思了~不然之前都看不懂@@ 08/09 10:47
※ 编辑: hungys (111.249.195.80), 08/09/2015 10:52:00
3F:推 StUtYao: 推详细 08/09 11:09
4F:推 icarus0508: 说是跑一个4.4应该也不准 因为是子系统 一些i /o 08/09 11:34
5F:→ icarus0508: 资源管理会是win10m处理 不过这应该会是java apk 08/09 11:34
6F:→ icarus0508: 限定吧 native的应该还是要vs c++编 08/09 11:34
7F:→ hungys: 所以我说「想像」。不然愈讲愈模糊 08/09 11:36
8F:推 icarus0508: 我怕有人误会 是切换成安桌系统XD 基本上就是把and 08/09 11:40
9F:→ icarus0508: riod容合进win10m 变成一个frame work 那样XD 08/09 11:40
10F:推 ReitaHey: 帮推 08/09 13:00
11F:推 mmppeegg: 据说APPLE也要舍弃objective-c, 改采framework的方式开 08/09 13:24
12F:→ mmppeegg: 发了 08/09 13:24
13F:→ mmppeegg: 这样微软该不会刚弄好结果过时了吧? 08/09 13:25
14F:推 ReitaHey: Swift语言也是开源的,而且微软已经在开发Swift编译器了 08/09 13:41
15F:→ ReitaHey: 不过objective-c还是占多数 08/09 13:42
16F:→ hungys: 微软有说未来会朝支援 Swift 的目标努力 08/09 14:04
17F:推 legendmtg: 基本上就类似在linux上用wine跑windows的程式 08/09 17:03
18F:推 icarus0508: 用wine来举例 太贴切了 只是wine支援度没很好 08/09 17:51
19F:→ icarus0508: Obj c是因为 被cpp打趴 变成共用用cpp 简单专用用sw 08/09 17:53
20F:→ icarus0508: ift但 swift开源了 08/09 17:53
21F:→ friedpig: 还以为是要转Code 这样跑的确能兼容的APP会多很多 08/09 18:04