今日Android平台的应用发展 智能应用 影音
TERADYNE
member

今日Android平台的应用发展

  • DIGITIMES企画

美商美普思科技(MIPS)首席移动架构工程师Amit Rohatgi
美商美普思科技(MIPS)首席移动架构工程师Amit Rohatgi

身为非苹阵营的主流Android平台,由于平台版本的零散化,局限了App应用厂商的移植性,微处理器大厂MIPS致力于与Google以及OEM厂商通力合作,迎合Android市集加入完善的计费机制、更安全且符合数码版权防护机制、更开放的多样化架构选择,以及仅需撰写一次程序码就能在各版本平台执行的便利性,同时MIPS也致力于提供Android装置生态下另一个低成本、高性价比的新选择…

平台可移植度成为ISV开发新思维

美商美普思科技(MIPS)首席移动架构工程师Amit Rohatgi,提到当今Android平台已可以支持MIPS、Intel以及ARM等多样化的处理器架构,有可能达到近100%的Apps程序码移植性:使用Andorid核心函式库的Dalvik Virtual Machine(虚拟机器),约有80~85%的Java可以被移植,另外约有15~20%的Java则需要改以Android原生开发套件(Native Development Kit;NDK)重新编译,即便有0.1%的Java用到Renderscript函式也一样可以被移植(但这不是今日主题)。依据性能上的需求,有些内容可以在Java虚拟机器执行,有些则是原生码型态执行。当前Java程序码开发朝向可移植为思维,每个程序有其独立专属的虚拟机器,而转译成Dalvik Byte Code(dex)格式的Java程序码具备无硬件架构相依性,可以完全移植到MIPS、Intel以及ARM等架构。

目前MIPS、Intel或ARM均使用NDK内的标准gcc和仿生的libc做代码编译。允许使用C/ C ++函式库,并藉由Java原生界面(JNI)或直接原生执行的两种方式加速。GooglePlay市集已建立好自动化的架构过滤机制,让各种不同架构的智能手机、平板电脑,只会下载到对应于该架构所开发的Apps。

另外透过Java原生界面(JNI)的方式,原生类别(Native class)的程序码,可藉由Android Java classes利用System.loadLibrary来呼叫执行,经由checkJNI也可以做侦错的支持。使用JNI的优点在于程序码可重复使用,某些情况下会增加效能,缺点则是增加撰写的复杂度,程序码也有限定架构的相依性问题。

另一种提昇效能的方式,就是透过Android框架的NativeActivity类别,开发者可以被知会返回呼叫执行周期,开发者也可以负责实作当事件发生(如onCreate()、onStart()、..etc)时的返回呼叫函式;除了广播收音机这部份之外,其他服务与内容供仍需要用JNI原生程序码。

今日Android平台开发上的挑战

Google工程副总裁Andy Rubin的愿景,是在Android平台上建立一个统一的App生态系统。但当今Android平台开发上所面临挑战,像开发者面对版本零散化(2.3/3.0/4.0),需要有统合一致化(Unification)的API,其次需要计费机制;对SoC供应商与OEM而言,要在某特定平台版本或多样化的平台版本间取舍,还要兼顾版权防护以及对GPU的了解。随着新版本Android API,在智能手机与平板电脑上应用逐渐成熟且赋予可移植性,Google已注意到版本零散化的问题,并领先导向一致化。许多工作坊与培训课程班被开设,以协助开发人员和OEM达到最大化的可移植性。Android统合设计原则,让开发者只须写一次程序码即可。

Amit提到,以Apps市集营收比较,苹果iTunes AppStore为100%,亚马逊AppStore仅89%,而GooglePlay更只有23%。GooglePlay近来改善了一些项目,像阻挡恶意软件(Malware)、全球涵盖度提升到130国,发表Apps后续选购扩充的机制(expansion of in-app purchasing),开发者可以自动更新订阅和一次性付款,同时负责收款的直接运营商,从去年才2个增加到15个。

另外软件(Apps)、书籍、音乐、视频等已经被垂直整合到GooglePlay市集,登入页面也做了变化。MIPS与OEM供应商合作,提供合宜价位高品质的Android设备。市面上已有MIPS架构的7寸平板电脑仅79美元,他给他两个子女买的都是这种。

MIPS加入创造SoC、OEM的架构多样性选择

有MIPS、Intel与ARM等多样化架构的支持,提供芯片供应商、OEM、运营商和消费者更多的选择。Android平台允许OEM厂商进行差异化动作,像使用界面(UI)的特制化,多种分辨率与多点触控面板的选用,允许多核心CPU、GPU、GPS多层级硬件的选搭等;而兼容测试套件(Compatibility Test Suite;CTS)能确保用户在多样性Android设备中也有一致的使用体验。每个App有专属的UID,确保每个App有独立维护权限,避免影响到别的App;为了数据共享,用户必须明确被告知,例如在App安装阶段。Widevine的和可插拔的DRM数码版权机制,提供统一的关键性内容保护的解决方案。Android提供开发者相当丰富多元、可增加用户体验的绘图子系统加速API,在CPU执行的软件必须最佳化且能顺利与GPU工作串联在一块。

依IDC 2011年7月针对受访者对Android平板的成功因素的调查中,62%认为要着重用户体验;46%认为需从智能手机到平板的移植性;45%认为版本过于零散,版本数需要统合;39%认为价格;33%则看中市集中Apps数量;29%用户看重硬件规格。Android将持续交付出维持硬件架构中立性、允许多样化、一致性的APIs,并帮助降低装置成本以快速扩散到市场上。

Amit总结Android态势,除了平板电脑与智能手机之外,下一个普及的或许是机顶盒与智能电视。目前有多家厂牌如HTC、Motorola、Samsung、LG、Acer、Asus、Philips等,芯片组供应商则有NVIDIA、高通(Qualcomm)、TI、Ingenic、Rockchip,许多平台OS版本,以及三种CPU架构(MIPS、Intel、ARM)。他鼓励开发者要拥抱差异化,运用Dalvik或NDK r8达成程序码移植性。

MIPS对Android平台产业的贡献

Amit提到MIPS对于Android平台产业的贡献,在于启动低成本Android装置,最佳可授权的微处理器核心执行Android OS,提供大众市场的吸引力与焦点,使得平板与智能手机可以人手一机。这也将引导需求创造,开发者将有诱因,将既有内容转成能为大众所接受的新内容,目前已有180万部采用MIPS微处理器技术的平板电脑在市面上,数量正持续快速增长。

目前MIPS针对Android平台所推出的微处理器核心家族,最高端由传统1074K、74K系列重命名为ProAptiv处理器,具备三线发送的超纯量乱序执行CPU架构、高速浮点运算单元,具备1~6核心配置,提供4.4Coremark/Mhz及3.5DMIPS/MHz的单位时脉效能;中端由1004K、34K与24K系列重新命名的interAptiv处理器,具备多线绪(multi-threaded)低功耗核心,1~4核心配置,并达到3.2Coremark/Mhz以及1.7DMIPS/MHz的单位时脉效能;入门部份由M14K系列改名的microAptiv处理器,具备DSP数码信号处理强化电路与微控制器核心设计,可达3.1Coremark/Mhz以及1.57DMIPS/MHz的单位时脉效能。

Google官方在2012年5月发布的NDK Release 8开始支持MIPS ABI,获得Android 4.0完整的支持,MIPS程序代码直接提交并经由Google审核后放置于GooglePlay市集。目前有85% Apps可以在MIPS架构的装置执行,另外也有像Gameloft、Rovio、Halfbrick、Opera、Marmalade、Xamarin、Unity等工作坊协助Android Apps平台移植的服务。

Android在MIPS架构的时间表,在2009 MIPS首度推出采用Android的类平板电脑,2010年进一步推出采用Android的STB机顶盒。

2010年下半Google授权Honetcomb(Android v3.0)给MIPS,随后2011年12月,跟大陆业者合作推出全球第一部配Android 4.0 ICS的MIPS架构平板电脑,时脉达1GHz,代理零售价仅99美元,2012年Philips也在大陆推出100% CTS验证的MIPS架构平板电脑。目前MIPS在数码家庭应用上居主导地位,移动设备的占有率也逐渐成长。

(本文提供英译版本,请按此连结阅读英译版本内容)