web-dev-qa-db-ja.com

AndroidのNDKの静的ライブラリと共有ライブラリの違いは?

私はAndroidのNDKを初めて使用しますが、静的ライブラリと共有ライブラリの違いを理解していません。それらは何ですか、そしていつ私は他よりも1つのタイプを選ぶのですか?

36
hara

ネイティブ共有ライブラリ:NDKは、ネイティブソースコードからこれらのライブラリまたは.soファイルを構築します。ネイティブ静的ライブラリ:NDKは、他のライブラリに対してリンクできる静的ライブラリまたは.aファイルをビルドすることもできます。

これはNDKドキュメントによるものです

2
user3303183

静的ライブラリ–すべてのライブラリバイナリは、リンクプロセス中に実行可能ファイルの一部として含まれます。したがって、ライブラリは不要になりますが、実行可能ファイルのサイズが大きくなります。

共有ライブラリ–最終的な実行可能ファイルには、コード自体ではなく、ライブラリへの参照のみが含まれます。実行可能ファイルを実行する環境が、プログラムで使用されるライブラリのすべてのファイルにアクセスできる必要があります。

0
user8427383