4

64 ビット Linux カーネルと 64 ビット Android を備えた 64 ビット ハードウェアがあるとします。
したがって、Zygote は、DVM の独自のインスタンスを使用して 64 ビット プロセスとして実行されます。

ここで、system.loadlibrarycall を使用して実行時にロードされる 32 ビット ネイティブ ライブラリを含むサード パーティ アプリケーションがあるとします。

このアプリケーションを実行しようとすると、apk が 32 ビット マシン用にビルドされていても、zygote はプロセスを開始でき、DVM は classes.dex ファイルを解釈できると思います。ただし、アプリケーションが 32 ビットのネイティブ ライブラリをロードしようとすると失敗します。これは、デバイスの bionic libc およびその他のライブラリがすべて 64 ビットになるためです。

この理解は正しいでしょうか?

4

1 に答える 1