首页 > IT业界 > 正文

Android 4.2版系统全面解析 揭秘占位符的秘密

2012-10-24 14:05 来源:腾讯数码

  欢迎来到我们的Android 4.2大讲堂,之前我们曾为大家介绍过Android 4.2系统中预置的新版本Gmail,不过其实我们有的不止这一款软件,而是有一整套的来自LG Nexus原型机的系统固件。有些LG Nexus原型机是运行Android 4.1.2系统的,不过我们手中的这一台略有不同,它搭载的是正在开发中的Android 4.2系统。其中很多系统应用的版本号都被识别为“4.2-[###]”或“JellyBeanMR1(4.1.2版本系统是 JellyBeanMR0)”。

  由于手机的来源不允许我们发布这套系统固件,因此我们在这里所能做的就是尽可能多的向朋友们展示它的各方面的信息,让大家尽可能多的了解它。这套Android 4.2固件很特别,几乎无法运行在任何其他手机上。我们不清楚这是否是因为内核的改动很大,或是其兼容性还不够好,不过我们确实在把它安装到其他手机上之后遇到了各种强制关闭和循环重启。Gmail是唯一一款我们可以使其正常运行的软件。

  占位符的秘密

  那么,既然无法顺利运行,我们的B计划就是将其“拆解”。在这个巨大的信息宝库中挖掘时,我发现了很多有趣的东西,比如下面的通知栏代码:

Android 4.2版系统全面解析揭秘占位符的秘密

  我发誓上面这幅图并不是我PS的。这个图片的文件名是“qs_coming_soon.png”,是我由SystemUI.apk(负责绘制Android 系统的通知栏和按钮的系统应用)中提取出来的。看上去就像是谷歌正在试图告诉我们“快速设置”功能即将与我们见面了,在新的Android 4.2系统中我们将可以在通知栏中调整电源控制选项,如无线数据、亮度等等。虽然在第三方ROM如三星TouchWiz和平板系统中这个功能早就出现了,不过能在原生系统中看到它依然是很令人高兴的。

  除了这个巨大的占位符之外,通知栏的XML文档也有很大的变化。现在普通的通知和快速设置被归纳到了一个叫做“PanelHolder”的标签中。目前我们还猜不出“PanelHolder”究竟代表着什么。

  通知栏的新功能

  最明显的改变就是,现在你可以两次下拉通知栏。第一次从屏幕顶端用向下滑动将会打开通知栏,而第二次滑动将会打开快速设置面板。虽然在我们手中的LG Nexus原型机上是如此,不过我们并不能确定在最终发布时是否也是这样。

Android 4.2版系统全面解析揭秘占位符的秘密

左:LG Nexus通知栏 右:Jelly Bean系统通知栏

  其次,当你打开通知栏时依然可以看到状态栏。而在Jelly Bean系统中打开通知栏后状态栏会自动隐藏,这很不方便,这样你就无法看到像电池及移动数据连接等状态了。我希望在正式发布后这个改动可以保留。

  第三,下拉的通知栏将不会一拉到底,而是当显示完全部通知后就停止了。这个改动似乎没有太大意义,在Nexus 7上通知栏就是以这种形式下拉的。

  真的有二次下拉的通知栏?

  虽然起初听起来很怪异,不过我个人认为支持双下拉的通知栏最终会出现在真正的Android 4.2系统中。就像在前文中提到的,通知栏现在已经被归纳到“PanelHolder”中,这样一来通知栏将占有一个面板,而快速设置将占有另一个面板。代码很明显的告诉我们通知栏和快速设置将是两个不同的屏幕,而不是我们现在所见到的电源控制摞在通知上面这样。

Android 4.2版系统全面解析揭秘占位符的秘密

  我们需要能够在二者之间切换,而二次下拉是目前最好的切换方法。我们不能通过向左或向右滑动屏幕来切换,应为目前这个手势是忽略通知的操作。所以唯一可行的办法就是二次下拉通知栏,或是在“设置”和“清除所有通知”两枚按钮之间再加一个“打开快速设置”按钮,这个办法其实也不错。

#p#副标题#e#

Android 4.2版系统全面解析揭秘占位符的秘密

横屏时三星TouchWiz的快速设置占据了一半的通知栏空间

  所以我们越想越觉得二次下拉通知栏是个最佳的解决方案。在三星TouchWiz和CyanogenMod中,由于通知栏和快速设置面板在同一界面中,快速设置部分占据了很大的屏幕空间,因此留给显示通知的空间就很少了。尤其是当你采用横向显示的时候,垂直方向的空间是十分宝贵的。而二次下拉通知栏所需的时间很短,并不会降低我们使用手机的效率,不信你现在就可以试试,滑动两次通知栏非常快也非常容易。这样既可以得到更多的通知显示空间,又不会减慢我们调整快速设置的速度。

  安全增强型Linux(SELinux)

  下面我们来看看Android 4.2系统的安全性提升,相信这会让那些注重隐私数据安全的用户雀跃。不过我们必须再次重申这只是我们根据LG Nexus中搭载的开发中的Android 4.2固件推测的,正式发布的Android 4.2系统不一定真的如此。

  最近我发现谷歌Play商店已经开始启用应用程序检查了,无论是在客户端还是在服务器端都加入了恶意软件扫描功能,不过谷歌没有就此止步。

Android 4.2版系统全面解析揭秘占位符的秘密

  安全增强型Linux最开始是由NSA(国家安全局)启动并加入到Linux系统中的一套核心组件及用户工具,可以让应用程序运行在其所需的最低权限上。未经修改过的Linux系统是使用自主访问控制的,用户可以自己请求更高的权限,由此恶意软件几乎可以访问任何它想访问的文件,而如果你授予其root权限,那它就无所不能了。

  在SELinux中没有root这个概念,安全策略是由管理员来定义的,任何软件都无法取代它。这意味着那些潜在的恶意软件所能造成的损害可以被控制在最小。一般情况下只有非常注重数据安全的企业级用户才会使用SELinux。

  现在我们已经对SELinux有了一个大概的了解,也许下面的这些代码可以让你更加清楚的认识它:

  SELinux status

  Disabled Permissive Enforcing

  上面这段代码是我们在Setting APK中发现的,根据这段代码我们可以推测,在Android 4.2的“关于手机”界面中会显示“SELinux状态”,其位置应该就在“内核版本”和“版本号”下面。如果你不明白为什么会有三个选项而不是简单的 “开(enforcing)”或“关(disabled)”,我们推测“Permissive”选项可能是一种日志记录模式,他不会组织任何事但是会将其记录在日志中。

  从这段代码中我们得到的另一项重要信息是,SELinux是个可选项,谷歌并没有直接取消root权限或其他功能。这是一个为企业级用户或是对隐私数据极为重视的用户提供的选项,普通消费者则完全可以关闭它。

  全天候VPN

  VPN(虚拟专用网络)可以为我们提供很多便利,主要取决于你如何设置它。你可以利用它来打破政府或公司的网络屏蔽,访问远程计算机,匿名上网或仅仅是加密所有网路访问数据。

  目前当你在Android手机上使用VPN上网,如果重启手机或是VPN服务器端终止了会话,你的所有网络数据将会直接以普通的互联网接入。目前还没有“只在连接到VPN时才上网”这种选项。

  Always-on VPN Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN. None Always-on VPN requires an IP address for both server and

  上面这段代码不言自明,VPN Lockdown将会限制你仅仅通过VPN访问网络,如果没有连接VPN那么网络就会断掉。相信部分经常使用VPN功能的用户一定会喜欢这个新选项的。

  高级短信确认

  诱惑那些坏家伙们编写恶意软件的一大因素是,你可以通过高级短信确认功能悄无声息的搞到被害人的话费。不过谷歌似乎正在试图改变这种情况,请看下面的框架代码:

#p#副标题#e#

  Send SMS to short code? Send premium SMS? %1$s would like to send a text message to %2$s, which appears to be an SMS short code.

  Sending text messages to some short codes may cause your mobile account to be billed for premium services.

  Do you want to allow this app to send the message? %1$s would like to send a text message to %2$s, which is a premium SMS short code.

  Sending a message to this destination will cause your mobile account to be billed for premium services.

  Do you want to allow this app to send the message? Send message "Don't send" Report malicious app

  如果你真的认真读了一遍这段代码,你会发现它们的可是提示用户这样的消息:“想要向[号码]发送一条高级短信,这会导致你被窃取话费,是否允许这个软件发送短信?”这是个非常好且非常明确的提示,用户会有三个选择:发送短信、不发送和举报恶意软件。

  同时我们也发现了一个巨大的数据库,包含了许多国家的短信代码。即使你发送的短信代码没有在数据库中,Android依然会警告你“发送短信代码可能会被扣话费”。

  相信这种及时、直观的提醒会有效的防止恶意软件吸费的现象。

  相册

  下图中左侧是Android 4.1中的相机和相册图标,右侧是Android 4.2的相机和相册的图标,当然也可能只是站位用的图标,不一定真的会出现在正式版的4.2系统中。新图标看上去在高度上与之前相比更加接近,不过样子我个人并不喜欢。

Android 4.2版系统全面解析揭秘占位符的秘密

  相册的界面经过了重新设计,目前依然还在完善中,不过我们已经可以看出新相册的大致样子了。相册中的照片都有一个类似宝丽莱快照的白色底边,这点与新的相册图标倒是很匹配,背景则是浅灰色。其他方面则与旧版相册一样。我们依然无法删除Picasa和G+的照片,而且也没有新的照片编辑选项,依然无法通过手势来旋转照片。设置版本号也还没有升级,依然还是Jelly Bean系统相册的1.1.40000。

Android 4.2版系统全面解析揭秘占位符的秘密

  不过目前在相册中只能显示两个全幅的专辑缩略图以及两个部分专辑缩略图,而在Android 4.0和4.1系统中相册一屏中可以显示9个缩略图。如果你在相册中有很多专辑那可能会比较麻烦。

  相册的标题看起来比较丑,与目前的相册同样采用半透明的显示方式。与之相比我更喜欢Google+中相册的标题栏。

Android 4.2版系统全面解析揭秘占位符的秘密

  上图中左侧是Jelly Bean系统相册界面,中间是正在制作中的4.2系统相册,右边则是Google+的相册界面。看起来风格比较一致。

  另外至于相机,是完全没有变化的。

  多用户账户

  多用户账户这个功能被隐藏的很深,不过我最终还是找到它了。我认为即使多用户账户最终没有出现在Android 4.2正式版中,也会很快和我们见面的。

  现在一些应用程序会被授予不同的权限来处理不同的用户。下面是来自framework-res的关于权限的代码:

  interact across users

  Allows the app to perform actions across different users on the device. Malicious apps may use this to violate the protection between users.

  full license to interact across users

  Allows all possible interactions across users.

  manage users

  Allows apps to manage users on the device, including query, creation and deletion.

  在我们手中的固件中,Phone、Settings及SystemUI都有着多用户权限,显然Settings是需要多用户权限来管理多用户账户的,SystemUI需要多用户权限来切换不同的用户,至于Phone,也许在你切换用户时电话依然会响。

  其它很有趣的还有在SettingsAPK中的一整套用户设置选项:

  Users

  Users

  Add user

  Edit details

  User information

  Name

  Discard

  Remove user

  Pesky kid

  Remove user?

  Are you sure you want to remove the user and all associated data from the device?

  Photo ID

  这里包含了关于用户管理的所有选项,你可以添加或删除用户,每个使用手机的人都会有用户名和带照片的身份ID。目前我唯一没有发现的就是切换用户的方法。

  System apps

  Installed apps

  谷歌Play商店也会跟踪每个用户所安装的软件,不同用户在各自的软件列表中是看不到其他人安装的软件的。

  家长控制

  看样子多用户功能还支持家长控制。

  Content restrictions

  Require PIN

  Content rating

  显然这是多用户账户功能的一个很酷的功能,你可以限制不同账户的权限,可以通过密码来限制某个账户在Play商店中的付费功能,限制某个账户可以下载的软件的分级。虽然在此之前家长控制功能就已经有了,不过单独为每个账户分配权限显然会更加实用。

  小结

  到这里我们手中的Android 4.2固件的新功能基本就为大家介绍完了,在我们对它的发掘过程中也发现了其他一些有趣的信息,比如Google Music的版本号升级了但是功能却没有变化,另外系统自带的动态壁纸无法正常工作等等,但除此之外真的没有其他值得一提的新信息了。

  我们手中的固件从完成到现在已经过去一个月左右了,相信在这一个月中开发者们肯定会加入很多其他的新功能,而且根据经验,越是接近发布时间,其进步的速度就会越快。虽然我们通过这款固件简单的偷窥了一下Android 4.2,但我们相信正式版的4.2系统的改进肯定远远不止这些,让我们一起等待10月29日的到来吧。

#p#副标题#e#

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系多特删除。(联系邮箱:[email protected]