あなたの国または地域を選択してください。

Close
サインイン 登録 Eメール:Info@Ocean-Components.com
0 Item(s)

Googleは、エミュレートされたARMアプリサポートのためのAndroidパスをスムーズにします

Google smooths Android path for emulated ARM app support

これにより、完全なARMエミュレーションを必要とするパフォーマンスオーバーヘッドなしに、テスト用のARMバイナリを実行できるため、テストのパスを高速化できます。

以前は、ARMライブラリに依存していてアプリのx86バリアントを構築できなかった開発者は、完全なARMエミュレーションを備えたシステムイメージを使用する必要があり、x86ベースのコンピューターで実行する場合、x86システムイメージよりもはるかに遅いと同社は述べています。または物理デバイスに頼る。

具体的には、ARMv7およびARM64 ABIがサポートされるようになりました。


上の画像は、以前のAndroid「Oreo」システムイメージがサポートしていなかったARM ABIをサポートする新しいAndroid 11 x86システムイメージを示しています。

ABI

異なるAndroidデバイスは異なるCPUを使用するため、これには異なる命令セットのサポートが含まれます。

CPUと命令セットの各組み合わせには、独自のアプリケーションバイナリインターフェイス(ABI)があります。これには、CPU命令セットと使用可能な拡張機能、実行時のメモリストアとロードのエンディアン、アプリケーション間でのデータ受け渡しの規則などが含まれます。システム、および実行可能プログラムと共有ライブラリの形式。

ARM互換

GoogleのアソシエイトプロダクトマネージャーであるMichael Hazardは、次のように述べています。 「これは、ターゲットデバイスのアーキテクチャに基づいて異なる方法でコンパイルする必要があることを意味します。携帯電話にはARMプロセッサが搭載されている傾向があります。その結果、カメラのバーコードスキャナーライブラリなど、アプリに追加する可能性のある多くのC ++依存関係は、ARMプロセッサとのみ互換性があります。これは、x86ベースのプロセッサを搭載したコンピューターで開発する場合、アプリを実行できなくなるため問題です。」

「新しいARM互換のAndroid 11システムイメージにより、システム全体でx86をネイティブに実行し、通常どおり仮想化テクノロジーを利用できます。アプリのプロセスでARMバイナリが必要な場合、バイナリはそのプロセス内でのみx86に変換されます。これにより、Androidランタイム(ART)、およびlibGLESやlibvulkanなどの他のパフォーマンスが重要なライブラリを含む、残りのプロセスをx86で実行し続けることができます。」

また、トランスレータは、低レベルのハードウェア固有のライブラリの実行を回避することにより、高価なメモリアクセスインスツルメンテーションとそれに関連するパフォーマンスヒットを回避します。

新しいエミュレータシステムイメージは、ローカルでも独自の継続的インテグレーションインフラストラクチャでも使用できます。

エミュレートされたARMを再試行してください

上の画像は、Android 11を実行するAVD(Android Virtual Device)を作成するAndroid Virtual Device Managerを示しています

Googleは、ARMサポートが不足しているために以前にエミュレータシステムを回避していた開発者に、Android 11システムイメージを試すことを推奨しています。これらは、Android Studioに含まれているGoogleのIDEに含まれているSDK ManagerまたはAndroid Virtual Device Managerを介してAndroid Studioにダウンロードできます。

Android 11 Developer Preview 2は先週リリースされ、5G処理と折りたたみ式画面のサポートが含まれていることに注意してください。 Android 11は「Q3」に登場予定です。

参照:Google Eyes 5G、Android 11 Developer Preview 2搭載の折りたたみ式スクリーン