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();
}
}
}