搜尋本站文章

2012年10月24日 星期三

Android 4.2 系統全面解析!

歡迎來到 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 計畫就是將其「拆解」。在這個巨大的資訊寶庫中挖掘時,我發現了很多有趣的東西,比如下面的通知列代碼:
我發誓上面這幅圖並不是我 PS 的。這個圖片的檔案名是「qs_coming_soon.png」,是我由 SystemUI.apk(負責繪製 Android 系統的通知列和按鈕的系統應用)中提取出來的。看上去就像是谷歌正在試圖告訴我們「快速設置」功能即將與我們見面了,在新的 Android 4.2 系統中我們將可以在通知列中調整電源控制選項,如無線資料、亮度等等。雖然在協力廠商 ROM 如三星 TouchWiz 和平板系統中這個功能早就出現了,不過能在原生系統中看到它依然是很令人高興的。

除了這個巨大的預留位置之外,通知列的 XML 文檔也有很大的變化。現在普通的通知和快速設置被歸納到了一個叫做「PanelHolder」的標籤中。目前我們還猜不出「PanelHolder」究竟代表著什麼。

通知列的新功能

最明顯的改變就是,現在你可以兩次下拉通知列。第一次從螢幕頂端用向下滑動將會打開通知列,而第二次滑動將會打開快速設置面板。雖然在我們手中的 LG Nexus 原型機上是如此,不過我們並不能確定在最終發佈時是否也是這樣。
左:LG Nexus 通知 
右:Jelly Bean 系統通知列
其次,當你打開通知列時依然可以看到狀態列。而在 Jelly Bean 系統中打開通知列後狀態列會自動隱藏,這很不方便,這樣你就無法看到像電池及移動資料連線等狀態了。我希望在正式發佈後這個改動可以保留。

第三,下拉的通知列將不會一拉到底,而是當顯示完全部通知後就停止了。這個改動似乎沒有太大意義,在 Nexus 7 上通知列就是以這種形式下拉的。

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

雖然起初聽起來很怪異,不過我個人認為支援雙下拉的通知列最終會出現在真正的 Android 4.2 系統中。就像在前文中提到的,通知列現在已經被歸納到「PanelHolder」中,這樣一來通知列將佔有一個面板,而快速設置將佔有另一個面板。代碼很明顯的告訴我們通知列和快速設置將是兩個不同的螢幕,而不是我們現在所見到的電源控制摞在通知上面這樣。
我們需要能夠在二者之間切換,而二次下拉是目前最好的切換方法。我們不能通過向左或向右滑動螢幕來切換,應為目前這個手勢是忽略通知的操作。所以唯一可行的辦法就是二次下拉通知列,或是在「設置」和「清除所有通知」兩枚按鈕之間再加一個「打開快速設置」按鈕,這個辦法其實也不錯。
橫屏時三星 TouchWiz 的快速設置佔據了一半的通知列空間
所以我們越想越覺得二次下拉通知列是個最佳的解決方案。在三星 TouchWiz 和 CyanogenMod 中,由於通知列和快速設置面板在同一介面中,快速設置部分佔據了很大的螢幕空間,因此留給顯示通知的空間就很少了。尤其是當你採用橫向顯示的時候,垂直方向的空間是十分寶貴的。而二次下拉通知列所需的時間很短,並不會降低我們使用手機的效率,不信你現在就可以試試,滑動兩次通知列非常快也非常容易。這樣既可以得到更多的通知顯示空間,又不會減慢我們調整快速設置的速度。

安全增強型 Linux(SELinux)

下面我們來看看 Android 4.2 系統的安全性提升,相信這會讓那些注重隱私資料安全的使用者雀躍。不過我們必須再次重申這只是我們根據 LG Nexus 中搭載的開發中的 Android 4.2 固件推測的,正式發佈的 Android 4.2 系統不一定真的如此。

最近我發現谷歌 Play 商店已經開始啟用應用程式檢查了,無論是在用戶端還是在伺服器端都加入了惡意軟體掃描功能,不過谷歌沒有就此止步。
安全增強型 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 功能的使用者一定會喜歡這個新選項的。

高級短信確認

誘惑那些壞傢伙們編寫惡意軟體的一大因素是,你可以通過高級短信確認功能悄無聲息的搞到被害人的話費。不過谷歌似乎正在試圖改變這種情況,請看下面的框架代碼:

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 系統中。新圖示看上去在高度上與之前相比更加接近,不過樣子我個人並不喜歡。
相冊的介面經過了重新設計,目前依然還在完善中,不過我們已經可以看出新相冊的大致樣子了。相冊中的照片都有一個類似寶麗萊快照的白色底邊,這點與新的相冊圖示倒是很匹配,背景則是淺灰色。其他方面則與舊版相冊一樣。我們依然無法刪除 Picasa 和 G+ 的照片,而且也沒有新的照片編輯選項,依然無法通過手勢來旋轉照片。設置版本號也還沒有升級,依然還是 Jelly Bean 系統相冊的 1.1.40000。
不過目前在相冊中只能顯示兩個全幅的專輯縮略圖以及兩個部分專輯縮略圖,而在 Android 4.0 和 4.1 系統中相冊一屏中可以顯示 9 個縮略圖。如果你在相冊中有很多專輯那可能會比較麻煩。

相冊的標題看起來比較醜,與目前的相冊同樣採用半透明的顯示方式。與之相比我更喜歡 Google+ 中相冊的標題列。
上圖中左側是 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 日的到來吧!
1
===============================================
創用 CC 授權條款
Related Posts Plugin for WordPress, Blogger...

沒有留言:

張貼留言

1、本留言處歡迎多加留言交流,但不歡迎垃圾留言及廣告留言
2、留言時可以使用部份 HTML 標記
3、對於教學文章介紹或軟體使用有問題歡迎提出,若站長沒回應表示不清楚該問題的解決方案
4、留言時請勿留下電子郵件,以免因搜尋引擎爬文而造成您的困擾,且站長不會寄相關郵件給您,僅會在留言區提供解決方案
5.站長保留不當刪除留言的權力,若造成不便尚請見諒