一:步骤

——新建一个安卓工程
Unity中实现调用Android的jar包(Unity与Android交互)_# Unity相关技术

 

——配置工程的一些基本信息
Unity中实现调用Android的jar包(Unity与Android交互)_# Unity相关技术_02

 


——为了层级清晰,删除自带的模块:File—Project Structure—Modules—选择名为app的模块并点击减号删除自带的模块
Unity中实现调用Android的jar包(Unity与Android交互)_# Unity相关技术_03

 


——新建一个自定义的模块:File—New—New Module—选择Android Library
Unity中实现调用Android的jar包(Unity与Android交互)_Android_04

 


——找到模块名—Src—main—java—包名
Unity中实现调用Android的jar包(Unity与Android交互)_# Unity相关技术_05

 


——为模块新建类:右键—New—Java Class
Unity中实现调用Android的jar包(Unity与Android交互)_Android_06

 


——为类添加自定义方法
Unity中实现调用Android的jar包(Unity与Android交互)_# Unity相关技术_07

 


——打开自定义模块下的build.gradle文件,添加生成jar包的代码

task makeJar(type: Copy) {
    delete 'build/outputs/Application.jar'
    from('build/intermediates/packaged-classes/release/') //jar包的来源
    into('build/libs/') //生成jar包的路径
    include('classes.jar')
    rename('classes.jar', 'Application.jar') //重命名jar包
}

makeJar.dependsOn(build)

 

 

——点击绿三角运行task并生成jar包,生成成功后在生成路径下即可找到jar包
Unity中实现调用Android的jar包(Unity与Android交互)_Android_08

 


——将jar包导入到Unity工程中,编写Unity调用Android的代码

using UnityEngine;
using UnityEngine.UI;

public class Test : MonoBehaviour
{
    private void Awake()
    {
        AndroidJavaClass jc = new AndroidJavaClass("com.unitycallandroid.mylibrary.MyActivity");
        GetComponent<Text>().text = jc.CallStatic<int>("Sum", 1, 2).ToString();
    }
}