Android Studioによりネイティブプラグインを作成し、Unityに作成したネイティブプラグインを実装し、新規プロジェクトを作成して、Android携帯にネイティブプラグインとゲームオブジェクトを転送して実行します。このブログは「Unityで使用するAndroidのネイティブプラグインの作成(2024/01/06) – Android編」からの続編です。古いバージョンでのネイティブプラグインの作成は、「Unityで使用するAndroidのネイティブプラグインの作成」に示します。
- Android携帯:京セラ android one s2
- Androidバージョン:7.1.2
- Android開発環境:Android Studio Flamingo | 2022.2.1
- Unity: 2022.3.11f1 (64-bit)
Unityによりネイティブプラグインの実装
新規プロジェクト「PluginTest」を作成してネイティブプラグイン「unitylibrary-release.aar」を実装して、Android携帯にゲームオブジェクトを転送して実行します。
- 新規プロジェクト「PluginTest2401」を作成します。
- Unityエディタでにフォルダ「Assets/Plugins/Android」を作成し、作成したネイティブプラグイン「unitylibrary-release.aar」をドラッグ&ドロップします。
- Hierarchyタブの「Create」→「 UI」からText、Buttonを作成します。
- それぞれのx,y位置を調整します。
- Assetsメニューから「Create」→「C# Script」を選択して、次に示すスクリプト「UnityTest.cs」を作成します。
- 21行目で作成したネイティブプラグイン「unitylibrary-release.aar」を呼び出します。
- 23行目でネイティブプラグイン「FromUnity」関数を呼び出し、戻り値をAndroid携帯に表示します。カウンタ「counter」値が更新されて表示されます。
- 作成したスクリプト「UnityTest2401.cs」をゲームオブジェクト「Canvas」にドラッグ&ドロップし、inspectorタブのスクリプト「UnityTest2401.cs」の「Txt Message」「Btn Android」それぞれにHierarchyタブの「Text」、「Button」をドラッグ&ドロップします。
- Fileメニューから「Build Settings」を選択します。表示された「Build Settings」画面で「Android」を選択して「Build」ボタンをクリックし、作成した「apk」ファイルを保存するフォルダ「Desktop」を指定してファイル名「PluginTest2401」を設定します。
- Android携帯とパソコンとをUSBケーブルで接続し、Android端末側の「設定」により「開発者向けオプション」で「USBデバッグ」をチェックします。
- 作成した「apk」ファイルの保存フォルダ名を聞いてくるので、フォルダを指定してファイル名を設定します。これによりapkファイルの作成とAndroid携帯への書き込みが行われます。Android携帯への書き込みが終了すると、次の画面が表示され、「Button」ボタンをクリックするごとに数値がカウントアップします。
UnityTest2401.cs
using UnityEngine; using UnityEngine.UI; public class UnityTest2401 : MonoBehaviour { [SerializeField] Text txtMessage; [SerializeField] Button btnAndroid; int counter = 0; void Start() { btnAndroid.onClick.AddListener(CallAndroidPlugin); txtMessage.text = "初期値"; } /// <summary> /// ボタンが押されたらプラグインを呼ぶ /// </summary> public void CallAndroidPlugin() { using (AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.tomosoft.unitylibrary.UnityPlugin")) { txtMessage.text = androidJavaClass.CallStatic<string>("FromUnity", counter.ToString()); counter++; } } /// <summary> /// プラグイン側からUnityを呼ぶ /// </summary> public void FromAndroid(string str) { // txtMessage.text += str; } }
キャプチャ画像をパソコンに取り込むには、Android端末側の「設定」により「開発者向けオプション」で「USB設定の選択」の「PTP」を選択します。