在 Android 模擬器上運行 ARM 應用

隨著?Android 11 開發(fā)者預覽版的發(fā)布,我們同時也推出了?Android 11 系統(tǒng)映像。新的系統(tǒng)映像在執(zhí)行 ARM 二進制文件方面取得了顯著的性能提升。此前,依賴 ARM 庫且無法構(gòu)建 x86 版本應用的開發(fā)者只能使用完整的 ARM 模擬系統(tǒng)映像 (其速度遠低于在 x86 設備上運行 x86 系統(tǒng)映像) 或者實體機谎懦。Android 11 系統(tǒng)映像能夠在不影響整個系統(tǒng)的前提下,直接將 ARM 指令轉(zhuǎn)換成 x86 指令板甘。開發(fā)者無需搭建高負載的 ARM 環(huán)境即可執(zhí)行 ARM 二進制文件并進行測試党瓮。

全新的 Android 11 (Google API) x86 系統(tǒng)映像支持 ARM 應用二進制接口 (ABI),較舊版本的 Android Oreo 系統(tǒng)映像并不提供該支持


技術細節(jié)

我們可能需要結(jié)合具體情景來說明這項新技術的重要性盐类,尤其是如果您只使用 Kotlin 或 Java 編程語言來構(gòu)建應用的話寞奸。Kotlin 和 Java 編程語言均在 ART (Android 運行時) 上執(zhí)行,但 C++ 則與它們不同在跳,Android 應用中的所有 C++ 指令會直接編譯為機器指令枪萄,也就是說,目標設備的平臺架構(gòu)決定著 C++ 的編譯方法猫妙。移動手機一般搭載 ARM 處理器瓷翻,因此,您為應用添加的許多 C++ 依賴項 (例如攝像頭條形碼掃描庫) 僅與 ARM 處理器兼容。在這種情形下齐帚,如果您使用基于 x86 處理器的設備進行開發(fā)工作妒牙,便會遇到應用無法運行的問題。

過去对妄,開發(fā)者需要通過模擬器鏡系統(tǒng)映像搭建一個完整的 ARM 環(huán)境湘今,才能繞過這個限制并在 x86 機器上執(zhí)行 ARM 應用。但是剪菱,把整個系統(tǒng)的 ARM 指令都轉(zhuǎn)換成 x86 指令會造成過高的性能負荷摩瞎,因此與基于 x86 的系統(tǒng)映像相比,完整的 ARM 系統(tǒng)映像在 x86 宿主機上的運行速度會慢很多孝常,而且它還無法使用 x86 處理器提供的硬件加速和 CPU 虛擬化技術旗们。

全新的Android 11 系統(tǒng)映像與 ARM 兼容,它不僅允許整個系統(tǒng)在本機運行 x86 指令构灸,而且還可以照常使用虛擬化技術上渴。當應用的某個進程需要使用 ARM 二進制代碼時,代碼僅會在該進程內(nèi)被轉(zhuǎn)換成 x86 指令冻押,其余進程將繼續(xù)在 x86 環(huán)境內(nèi)執(zhí)行驰贷,包括 Android 運行時 (ART) 以及其它性能關鍵庫,例如?libGLES?和?libvulkan洛巢。除此以外,指令轉(zhuǎn)換器也不會執(zhí)行低層的硬件特定庫次兆,從而避免高成本的內(nèi)存訪問檢測和相應的性能影響稿茉。在 ARM 公司的協(xié)作下,新的模擬器系統(tǒng)映像在本地和持續(xù)集成框架內(nèi)均可運行芥炭。

下一步

如果您之前由于缺乏高性能的 ARM 支持漓库,去選擇了實體機而非模擬器,不妨嘗試一下?Android 11 系統(tǒng)映像园蝠。此映像文件目前已隨 Android 11 開發(fā)者預覽版一同開放下載渺蒿。您可通過 SDK Manager 或者Android Virtual Device Manager將最新版本的系統(tǒng)映像下載至 Android Studio。

使用 Android Virtual Device Manager 創(chuàng)建一個運行 Android 11 的 AVD

一旦應用在模擬器中成功運行后彪薛,請考慮適配 Chrome OS茂装。Chrome OS 同樣也支持在 x86 筆記本上執(zhí)行 ARM 版本的 Android 應用。通過構(gòu)建適用于 Chrome OS 的應用善延,您可以挖掘大屏幕設備生態(tài)圈所蘊含的海量機遇少态,讓全球更多的用戶認識您的應用。

這項技術可以幫助更多開發(fā)者在 Android 模擬器上進行測試易遣。我們建議開發(fā)者同時構(gòu)建 x86 和 ARM ABI 兩個版本的應用彼妻,使其在物理設備上擁有最佳的運行性能并吸引盡可能多的用戶。接下來,我們計劃在多個 API 級別普及這項技術侨歉,同時確保它能和實體機一樣支持所有測試用例屋摇。歡迎大家向我們提交反饋,幫助我們進一步優(yōu)化這項新技術幽邓。

請注意: ARM - x86 指令轉(zhuǎn)換技術可用于執(zhí)行 ARM 公司旗下的產(chǎn)品炮温。該技術只可通過 Google API 和 Play Store 系統(tǒng)映像獲取,且僅用于在 x86 臺式機颊艳、筆記本茅特、客戶端本地服務器或自購的云環(huán)境上進行應用開發(fā)和調(diào)試。該技術不可在商用托管服務下使用棋枕。

Java 是 Oracle 和/或其附屬公司的注冊商標白修。

點擊這里進一步了解 Android 11 系統(tǒng)映像

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市重斑,隨后出現(xiàn)的幾起案子兵睛,更是在濱河造成了極大的恐慌,老刑警劉巖窥浪,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祖很,死亡現(xiàn)場離奇詭異,居然都是意外死亡漾脂,警方通過查閱死者的電腦和手機假颇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骨稿,“玉大人笨鸡,你說我怎么就攤上這事√构冢” “怎么了形耗?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辙浑。 經(jīng)常有香客問我激涤,道長,這世上最難降的妖魔是什么判呕? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任倦踢,我火速辦了婚禮,結(jié)果婚禮上佛玄,老公的妹妹穿的比我還像新娘硼一。我一直安慰自己,他們只是感情好梦抢,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布般贼。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哼蛆。 梳的紋絲不亂的頭發(fā)上蕊梧,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天,我揣著相機與錄音腮介,去河邊找鬼肥矢。 笑死,一個胖子當著我的面吹牛叠洗,可吹牛的內(nèi)容都是我干的甘改。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼灭抑,長吁一口氣:“原來是場噩夢啊……” “哼十艾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起腾节,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤忘嫉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后案腺,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庆冕,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年劈榨,在試婚紗的時候發(fā)現(xiàn)自己被綠了访递。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡同辣,死狀恐怖力九,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情邑闺,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布棕兼,位于F島的核電站陡舅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伴挚。R本人自食惡果不足惜靶衍,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望茎芋。 院中可真熱鬧颅眶,春花似錦、人聲如沸田弥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至商叹,卻和暖如春燕刻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剖笙。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工卵洗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弥咪。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓过蹂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親聚至。 傳聞我的和親對象是個殘疾皇子酷勺,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容