打开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平台测试,查看运行日志
这个jar包在Unity发布时不需要AndroidManifest.xml文件