/ / Androidのx86へのARMネイティブアプリケーションのコンパイル(Porting&Houdini)-android、android-ndk、x86、arm、porting

アンドロイド、アンドロイド-ndk、x86、arm、portingへのARMネイティブアプリケーションをコンパイルするAndroid(Porting&Houdini)

ARMネイティブアプリケーションをx86プラットフォームでコンパイルする方法を研究していますが、いくつかの問題を抱えている2つのトピック(Houdiniバイナリトランスレータとポーティング)に出会いました。

これらは私の質問ですか? -バイナリ変換と移植の違いは何ですか -ARMネイティブアプリケーションをx86にコンパイルすることの2つの部分は両方とも

事前に助けてくれてありがとう

回答:

回答№1は4

バイナリ変換と移植の違いは何ですか

バイナリ変換では、アプリにARM NDKバイナリが含まれ、デバイスはARM命令を使用してx86に変換します libhoudini。 NDKバイナリの数が少ないため、APKファイルは小さくなります。ただし、結果の変換は、アプリがARMのものに合わせてx86 NDKバイナリを出荷した場合よりも遅くなります。

移植では、x86 NDKバイナリとARMバイナリを明示的に出荷します。これにより、APKファイルが大きくなりますが、x86デバイスでのパフォーマンスが向上します libhoudini.

いずれの場合も、ARMデバイスだけでなく、x86デバイスでもコードをテストする必要があります。また、64ビットのARMおよびx86 CPUも使用できるようになったことを忘れないでください。


回答№2の場合は-1

まず、Houdiniについて説明します。 基本的に、Houdiniはx86、x86_32アーキテクチャの親切なラッパーです。 armライブラリをx86 libに変換します。

armアプリケーションをx86に移植すると、アプリケーションのパフォーマンスが低下し、デバイスはCPUグラフィックスパフォーマンスと同様にパフォーマンスが向上します。

Houdiniはwrapperで、システムのアプリケーションにx86 libが存在しない場合、armをx86に変換します。

よろしく、 ディーパック