1. 程式人生 > >Eclipse匯出包含自定義類的Jar包供Unity3D呼叫學習筆記一

Eclipse匯出包含自定義類的Jar包供Unity3D呼叫學習筆記一

開啟Eclipse建立一個專案AndroinPlugins並標記為library專案


建立包名com.android.plugins

建立一個自定義類TestPlugins

定義一個無返回值,沒有引數的方法HelloWorld:

public void HelloWorld(){
Log.w("TestPlugins", "HelloWorld!");

}

定義一個返回String型別,沒有引數的方法GetHelloWorld:

public String GetHelloWorld(){
return "HelloWorld!";

}


匯出jar包:

選中src資料夾右鍵彈出選單,點選Export選項開啟匯出框


開啟java選項,選中JAR file,進行下一步


選中需要匯出的java檔案,自定義匯出路徑與檔名,字尾為.jar


點選Finish完成匯出工作

開啟Unity3D專案,將上面匯出的jar包拷貝到Assets/Plugins/Android資料夾下,沒有對應的資料夾則建立新的

新建一個C#指令碼TestAndroidPlugin.cs

開啟解決方案

例項化安卓自定義類物件,並呼叫其中的方法

using UnityEngine;
using System.Collections;

public class TestAndroidPlugin : MonoBehaviour {

    // Use this for initialization
    void Start () {

        //用AndroidJavaObject類來例項化安卓自定義類物件,引數為帶包名的完整java類名
        AndroidJavaObject TestPlugins = new AndroidJavaObject("com.android.plugins.TestPlugins");

        //呼叫無返回值,無引數的方法,引數為方法名字串
        TestPlugins.Call("HelloWorld");

        //呼叫帶返回值,無引數的方法,引數為方法名字串
        string helloworld = TestPlugins.Call<string>("GetHelloWorld");

        Debug.LogFormat(helloworld);
    }
    
    // Update is called once per frame
    void Update () {

        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Application.Quit();
        }
    }
}

打包釋出到Android平臺測試,檢視執行日誌