在网上看了 很多 调用 JAR 都要包含
D:\****\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes 里面的 class.jar
但是我觉得 只是 单向 unity 调用jar ,没有 jar 调用unity 的函数 应该 不必须
所以 我创建 一个 com.yiyo.jartest 的工程
在里面 创建一个 model
命名为 mylib
所以 这个库的 全名是 com.yiyo.mylib
里面创建一个 java class
package com.yiyo.mylib;
import android.util.Log;
public class MyFunc {
public static void ShowLog(String str){
Log.d("MakeJarDemo==> ",str);
}
public String test()
{
Log.v("测试","成功");
return "测试成功";
}
}
按照 网上的 makeJar 然后 gradlew makeJar
总是提示 命令语法不正确。 放弃
直接 make project 生成 文件所在位置 \build\intermediates\packaged-classes\debug\class.jar
将 它 任意改名 mylib.jar
拷贝到 unity 项目的 \Assets\Plugins\Android 中去
在 Unity 中添加如下代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestLib : MonoBehaviour {
public Text txt;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnGUI() {
var javaclass = new AndroidJavaObject("com.yiyo.mylib.MyFunc");
string tmp = javaclass.Call<string>("test");
GUI.Label(new Rect(100, 100, 500, 300), tmp);
}
}
其中 com.yiyo.mylib.MyFunc 红色的为包名,蓝色部分为 java class 的名称
然后调用它里面的函数
编译android 项目时候 要对应好 包名 公司名 产品名