|
|
| (同じ利用者による、間の39版が非表示) |
| 行1: |
行1: |
| − | =Android-Unity連携=
| + | [[Unity/Native連携/Android連携]] |
| − | ==android側でaarライブラリを作成==
| + | |
| − | 以下の"aarライブラリ作成項目を確認してaarファイルを作成する
| + | |
| | | | |
| − | [[Android/開発環境/AndroidStudio/aarライブラリ作成読込方法]] [ショートカット] | + | [[Unity/Native連携/Kotlin連携]] |
| | | | |
| − | <pre>
| + | [[Unity/Native連携/Swift連携]] |
| − | package jp.co.example.myapplicationrenkei.renkeilib;
| + | |
| − | public class UnityRenkei {
| + | |
| − | public static boolean teststatic(boolean flag) {
| + | |
| − | return flag;
| + | |
| − | }
| + | |
| − | public boolean test(boolean flag) {
| + | |
| − | return flag;
| + | |
| − | }
| + | |
| − | public void testexec() {
| + | |
| − | Log.i("test", "testexec");
| + | |
| − | }
| + | |
| − | }
| + | |
| − | </pre>
| + | |
| | | | |
| − | ==Android-unity連携する==
| + | [[Unity/Native連携/Kotlinバックグランドアラーム]] |
| − | #aarをAssets/Plugins/Android/の下に配置する
| + | |
| − | #以下コードを実行する
| + | |
| | | | |
| − | <pre>
| + | [[Unity/Native連携/Kotlinバックグランド通知]] |
| − | using UnityEngine;
| + | |
| − | using System.Collections;
| + | |
| − | public class ExampleClass : MonoBehaviour
| + | |
| − | {
| + | |
| − | [SerializeField] Button button;
| + | |
| − | void Start()
| + | |
| − | {
| + | |
| − | button.onClick.AddListener(OnClick);
| + | |
| − | }
| + | |
| − | void OnClick()
| + | |
| − | {
| + | |
| − | AndroidJavaObject jo = new AndroidJavaObject("jp.co.example.myapplicationrenkei.renkeilib.UnityRenkei");
| + | |
| − | bool flag = jo.Call<bool>("test", true);
| + | |
| − | bool flagstatic = jo.CallStatic<bool>("teststatic", true);
| + | |
| − | bool flagfalse = jo.Call<bool>("test", false);
| + | |
| − | bool flagstaticfalse = jo.CallStatic<bool>("teststatic", false);
| + | |
| − | jo.CallStatic("testexec");
| + | |
| − | Debug.Log("flag=" + flag);
| + | |
| − | Debug.Log("flagstatic=" + flagstatic);
| + | |
| − | Debug.Log("flagfalse=" + flagfalse);
| + | |
| − | Debug.Log("flagstaticfalse=" + flagstaticfalse);
| + | |
| − | }
| + | |
| − | }
| + | |
| − | </pre>
| + | |
| − | このように表示されればとりあえず成功
| + | |
| − | <pre>
| + | |
| − | I Unity : flag=True
| + | |
| − | I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
| + | |
| − | I Unity : flagstatic=True
| + | |
| − | I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
| + | |
| − | I Unity : flagfalse=False
| + | |
| − | I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
| + | |
| − | I Unity : flagstaticfalse=False
| + | |
| − | I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
| + | |
| − | </pre>
| + | |
| | | | |
| − | ==com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicateエラーが起こったとき==
| + | [[Unity/Native連携/Swiftバックグランド通知]] |
| − | コピーミスなどにより、Assetrs/Plugins/Android/classes.jarがあるとクラスが2重となっている可能性がある。
| + | |
| − | 一旦classes.jarを消してみる。
| + | |
| − | | + | |
| − | ==参考==
| + | |
| − | AndroidJavaObject公式:https://docs.unity3d.com/ja/current/ScriptReference/AndroidJavaObject.html
| + | |
| − | Unity-Android-Plugin:https://qiita.com/keidroid/items/455c61de9355eff2a907 | + | |