Android 静的ライブラリの作成と使用方法

Android におけるスタティックライブラリ(スタティックリンクライブラリとも言う)とは、プリコンパイルされたコードとデータを格納したコンパイル済みバイナリファイルであり、リンク時に実行可能ファイルやダイナミックライブラリに静的にコンパイルできます。

Androidで静的ライブラリの作成と使用手順は次のとおりです。

  1. Android Studioで、「ファイル」→「新規」→「新しいモジュール」を選択し、「静的ライブラリ」を選択します。ウィザードの手順に従って、プロジェクト名とその他の関連情報を記入し、「完了」をクリックして作成を完了します。
  2. コードの作成: 作成した静的ライブラリプロジェクト内にコードを作成します。C/C++ のコードファイルは、”src/main” ディレクトリ内の “cpp” フォルダーに追加できます。
  3. CMakeLists.txtを配置: “src/main/cpp”ディレクトリ内にCMakeLists.txtファイルを新規作成する。このファイル内でプロジェクトのコンパイルオプションや依存ライブラリの設定を行う。例:
cmake_minimum_required(VERSION 3.4.1)
add_library( # Sets the name of the library.
native-lib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
src/main/cpp/native-lib.cpp )
  1. プロジェクトのビルド:ビルド → ”Make Project”をクリックすると静的ライブラリのプロジェクトがビルドされます。ビルド後、生成された静的ライブラリファイル(拡張子は.so)が”build/intermediates/cmake/debug/obj”ディレクトリにあることを確認できます。
  2. 他のプロジェクトにスタティックライブラリを使用する: 別のAndroidプロジェクトでは、スタティックライブラリを使用できます。生成したスタティックライブラリファイルをプロジェクトの「libs」ディレクトリにコピーします(ディレクトリがない場合は、手動で作成します)。次に、プロジェクトのbuild.gradleファイルに次の構成を追加します。
android {
// ...
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
// ...
}
  1. コード内に静的ライブラリを使用する:コード内で静的ライブラリの関数と変数を使用できます。例えば、Java コードで C/C++ の関数を呼び出す場合
static {
System.loadLibrary("native-lib");
}
// ...
public native String stringFromJNI();

こちらは Android における静的ライブラリの作成と使用に関する手順です。お役に立てれば幸いです。

bannerAds