對像筆者準備真的拿 XE5 來實戰的 delphi 忠實用戶來說,到底 XE5 支援哪些 Android 設備,其實還真的蠻困擾的,一方面就算 app 可以開發出來,也不知道到底客戶可不可以安裝,能不能使用,會不會黑屏?;另外一方面,就算想事前做些限制,以目前官方能提供的資源來看,也不知道可以跟客服人員說些什麼,畢竟 android 設備實在太多了,正面表列?負面表列?好像都不太對說...粉困擾
話說回來,粉困擾還是不能當成藉口,就只能硬上了吧,傳到橋頭自然直,不過我們還是盡量蒐集一下到底有哪些 XE5 與 android 設備相容的資料可以參考
首先先看 Embarcadero 官方的部分有篇「Android Devices Supported for Application Development」
除了有說明支援哪些 android 作業系統版本外,還有列出 EMBT 測試過的 android 設備,並且說明是用那個 app 作為測試基準。不過如果您仔細數一下,就會發現這個 list 中所列出的 android 設備實在少的可憐,總共只有區區 30 種,跟在市面上流通的各式各樣、少說上百種的 android 設備比起來,根本就是杯水車薪,聊勝於無,況且這份文件似乎也沒有再更新了,一直保持當初 XE5 發表時的資訊,所以粉多熱門的新機也不會出現在表列。
再來就是維基百科上的一份資料「XE5 Android Device Support」,這部分應該有熱心人士陸續維護中,雖然仍然沒有辦法列出所有的 android 設備,但是已經算是比較完整的了,極具參考價值
http://delphi.wikia.com/wiki/XE5_Android_Device_Support?diff=22325&oldid=0
其中有提到支援的 CPU 種類以及不支援的 CPU(主要是 Qualcomm 較早期的型號與 Nvidia Tegra 2),另外就是盡可能的列出不支援的 android 設備型號與「應該可以」支援的 android 設備型號,後者這部分筆者猜測,一定要確認的話,除非真的有實機可測,否則無法確實確認,而且跟你撰寫的 app 需要使用到哪些功能/硬體有關係,就像 EMBT 官方列的那份,也許 app 可以執行的起來,但是不是 100% 功能都可以正確 work。
最後補上筆者已經遇到的一些狀況供大家參考
1.上述資料中都沒提到的 android 設備,同時也是在大陸與台灣火紅的小米機 2s 與紅米機,以筆者 blog 上所分享的 app 來測試的話,是都可以正常運作。
2.筆者有遇到使用 Intel Atom CPU 的 android 設備,型號是 ASUS Fonepad Note 6,CPU 是 Intel Atom Z2580,從網路上的資料來看 Atom Z2580 是 x86 架構,只支援 SSE 指令集,而 XE5 需要的 NEON 指令集則不支援,因此 XE5 編譯出來的 app 無法在 Intel Atom Z2580 設備上執行起來(只能安裝)
http://system-on-a-chip.findthebest.com/compare/37-132/ARM-Cortex-A7-MPCore-vs-Intel-Atom-Z2580
http://wap.pchome.net/article/1639300.html
後續如果還有什麼新的發現,會陸續更新這篇文章供大家參考...
機型 | 可執行 XE5 App 否 | 備註 |
小米機 2S | Y | 實體回車鍵透過 Key = vkHardwareBack 捕捉不到,原因待查 |
紅米機 | Y | 實體回車鍵透過 Key = vkHardwareBack 捕捉不到,原因待查 |
ASUS Fonepad Note 6 | N | 不支援 Intel Atom Z2580 CPU |
LG Optimus Vu II(LG F200L) | Y | |
HTC One X | Y | |
Acer Liquid E1 | Y | |
SAMSUNG GALAXY S2 | Y | |
SAMSUNG GALAXY S3 | Y | |
SAMSUNG GALAXY S4 | Y | |
SAMSUNG GALAXY Note II | Y | |
HTC Butterfly | Y | |
Sony Xperia Z1 | Y | |
Asus New Nexus7 | Y | |
小米機 1S | Y | 網友回饋,筆者無此機型可測 |
測試會用到的主要元件/功能有
ListView、ListBox、Location Sensor、Barcode Scan、DataSnap(DBX)、Indy
to be continued...