編輯:Android資訊
如果你正好擁有全球第一支運行 Ubuntu 的手機並且希望將 BQ Aquaris E4.5 自帶的 Ubuntu 系統換成 Android,那這篇文章能幫你點小忙。
有一萬種理由來解釋為什麼要將 Ubuntu 換成主流 Android OS。其中最主要的一個,就是這個系統本身仍然處於非常早期的階段,針對的目標用戶仍然是開發者和愛好者。不管你的理由是什麼,要謝謝 BQ 提供的工具,讓我們能非常輕松地在 BQ Aquaris 上安裝 Android OS。
下面讓我們一起看下在 BQ Aquaris 上安裝 Android 需要做哪些事情。
本文是基於 Ubuntu 15.10 操作的。但是這些步驟應該也可以應用於其他大多數 Linux 發行版。
首先是下載可以在 BQ Aquaris E4.5 上運行的 Android 固件。幸運的是我們可以在 BQ 的技術支持網站找到。可以從下面的鏈接直接下載,差不多 650 MB:
是的,這個版本還支持 OTA 自動升級。目前,固件版本是 2.0.1,基於 Android Lolipop 開發。過一段時間,應該就會放出基於 Marshmallow 的新版本,上邊的鏈接可能就無效了。
我建議去 BQ 的技術支持網站下載最新的固件。
下載完成後解壓。在解壓後的目錄裡,找到一個名字是 MT6582_Android_scatter.txt 的文件。後面將要用到它。
BQ 已經提供了自己的刷機工具,Herramienta MTK Flash Tool,可以輕松地給設備安裝 Andriod 或者 Ubuntu 系統。你可以從下面的鏈接下載工具:
考慮到刷機工具在以後可能會升級,你總是可以從 BQ 技術支持網站上找到最新的版本。
下載完後解壓。之後應該可以在目錄裡找到一個叫 flash_tool 的可執行文件。我們稍後會用到。
如果你正在用最新版本的 Ubuntu 或 基於 Ubuntu 的 Linux 發行版,稍後可能會碰到 “BROM ERROR : S_UNDEFINED_ERROR (1001)” 錯誤。
要避免這個錯誤,你需要卸載有沖突的軟件包。可以使用下面的命令:
sudo apt-get remove modemmanager
用下面的命令重啟 udev 服務:
sudo service udev restart
檢查一下內核模塊 cdc_acm 可能存在的副作用,運行下面的命令:
lsmod | grep cdc_acm
如果上面命令輸出是空,你將需要重新加載一下這個內核模塊:
sudo modprobe cdc_acm
切換到下載好並解壓完成的刷機工具目錄(第二步)。請使用命令行來完成,這是因為將要用到 root 權限。
假設你保存在下載目錄裡,使用下面的命令切換目錄(為那些不懂如何在命令行下切換目錄的朋友考慮)。
cd ~/Downloads/SP_Flash*
然後使用下面的命令以 root 權限啟動刷機工具:
sudo ./flash_tool
然後你會看到一個像下面的窗口界面。不用在意 Download Agent 區域,它將會被自動填入。只要關心 Scatter-loading 區域。
還記得之前第一步裡提到的 MT6582_Android_scatter.txt 文件嗎?這個文本文件就在你第一步中下載的 Android 固件解壓後的目錄裡。點擊 Scatter-loading(上圖中)然後選中 MT6582_Android_scatter.txt 文件。
之後,你將看到類似下面圖片裡的一些綠色線條:
已經差不多了。把你的手機關機,然後通過 USB 線連接到電腦上。
在下拉列表裡選擇 Firmware Upgrade,然後點擊那個大的 Download 按鈕。
如果一切順利,你應該可以在工具下方的狀態欄裡看到刷機狀態:
當所有過程都完成後,你將看到一個類似這樣的提示:
將手機從電腦上移除然後開機。你應該看到屏幕上顯示白色並在中間和底部有 AQUARIS 文字,還應該有 “powered by Android” 字樣。差不多需要差不多十分鐘,你才可以設置和開始使用 Android。
注意:如果中間出了什麼問題,同時按下電源、音量加、音量減按鍵可以進入 fast boot 模式。然後再次關機並連接電腦。重復升級固件的過程。應該可以。
要感謝廠商提供的工具,讓我們可以輕松地 在 BQ Ubuntu 手機上刷 Android。當然,你可以使用相同的步驟將 Android 替換回 Ubuntu。只是下載的時候選 Ubuntu 固件而不是 Android。
希望這篇文章可以幫你將你的 bq 手機上的 Ubuntu 刷成 Android。如果有什麼問題或建議,可以在下面留言區裡討論。
無論錘子還是茄子手機的不斷冒出,Android系統的手機市場占有率目前來說還是最大的,因此基於Android開發的App數量也是很龐大的。那麼,如何能開發出更高性
1 背景 在Android中任何耗時的操作都不能放在UI主線程中,所以耗時的操作都需要使用異步實現。同樣的,在ContentProvider中也可能存在耗時操作,
Android編程中一個共同的困難就是協調Activity的生命周期和長時間運行的任務(task),並且要避免可能的內存洩露。思考下面Activity的代碼,在它
現代生活需求的壓力有時候會把人壓倒。即使是一個十分有組織能力的人或許也會需要數字工具來跟蹤個人和專業的會議以及最後期限。 如果你參加了今年的 All Things