Version: 5.6
UnityPlayerActivity Java コードの拡張
Android スプラッシュスクリーンのカスタマイズ

Android 用ネイティブ(C++)プラグイン

Unity は、 C/C++ で書かれて共有ライブラリ (.so) にパッケージされた Android 用のネイティブプラグインに対応しています。

Android 用の C++ プラグインをビルドするには、AndroidNDK を使用して、共有ライブラリのビルド手順に慣れ親しむようにしてください。

C++ を使用してプラグインを実装する場合は、名前修飾の問題 を回避するために、メソッドを C リンケージで宣言するようにしてください。

extern "C" {
  float Foopluginmethod ();
}

ライブラリをビルドした後、出力された .so ファイルを Unity プロジェクト内の Assets/Plugins/Android ディレクトリにコピーします。インスペクターで Android のチェックボックスをオンにしてファイルを Android に適応させ、ドロップダウンメニューで適切な CPU アーキテクチャを設定してください。

インスペクターウィンドウの、ネイティブ(C++)プラグインのインポート設定
インスペクターウィンドウの、ネイティブ(C++)プラグインのインポート設定

C# スクリプトからネイティブプラグインのメソッドを呼び出すには、以下のコードを使用してください。

[DllImport ("pluginName")]
private static extern float Foopluginmethod();

pluginName のファイル名にはプレフィックス(‘lib’)や拡張子(‘.so’)が含まれないようにしてください。全てのネイティブプラグインメソッドの呼び出しを、 C# コードの更なるレイヤーでラップすることが推奨されます。このコードは、アプリケーションが実際のデバイスで実行されているときにのみ、Application.platform をチェックしてネイティブメソッドを呼び出します。エディターで実行されている場合は C# コードからダミーの値が返されます。プラットフォームに依存するコードのコンパイリングを制御するには、プラットフォームの define を使用してください。

ネイティブ(C++)プラグインの参考例

This zip archive contains a simple example of a native code plug-in. This sample demonstrates how C++ code is invoked from a Unity application. The package includes a scene which displays the sum of two values as calculated by the native plug-in. You will need the [Android NDK)(https://developer.android.com/ndk/index.html)to compile the plug-in.



UnityPlayerActivity Java コードの拡張
Android スプラッシュスクリーンのカスタマイズ