如何在AndroidStudio方便的编写安卓工具类在Unity中调用(无需使用classes.jar和编写MainActivity)

本文介绍了一种在Android Studio中创建库项目,生成Jar包,然后在Unity中直接调用的方法,避免了提取classes.jar和编写MainActivity的繁琐过程。详细步骤包括新建Android Studio Library项目,编写Test和Test2类,生成Jar包,导入Unity并编写调用代码。这种方法对于添加和管理安卓代码更加便捷,但涉及权限的安卓方法仍需AndroidManifest.xml设置。
摘要由CSDN通过智能技术生成

前言

不知道大家有没有遇到过这样的问题,一个unity工程里在安卓代码中常常需要写很多方法,而网上大部分教程都是教大家把unity的classes.jar文件提取出来再在安卓中新建MainActivity把方法写入MainActivity中,如果每次要添加一些方法就这样做的话非常的麻烦所以下面我给大家介绍一种较为方便的添加安卓代码的方法。

正文

我们先新建一个AndroidStudio项目创建好library(详细方法在我的博客中有提到需要了解的请移步新建library)

然后我们在library下新建两个类,在后面我们可以用两种方法去调用安卓中的方法,后面也会介绍为什么这样写

Test.class

package com.hasee.librarydemo;

public class Test {

    public int add(int a,int b){
        return a+b;
    }

}

 

Test2.class

package com.hasee.librarydemo;

public class Test2 {

    public static int add(int a,int b){
        return a+b;
    }

}

 

然后我们生成一个Jar包,生成方法在我博客里有,我这里就不详细介绍了(AndroidStudio如何生成Jar包)

新建一个Unity工程,并创建好对应的文件夹,把生成的Jar包放入对应文件夹

 

这里我新建了一个测试脚本,然后我们就可以开始写调用的代码了

JarTest.cs

public class JarTest : MonoBehaviour {

    //新建了两个Text用来显示结果
    public Text text;
    public Text text2;


	
	void Start () {
        //Test类的调用方法
        //创建一个Test对象(因为默认无参,所以这里不需要加额外参数,如果需要用带参的构造方法,在后面加入参数就行了)
        AndroidJavaObject obj = new AndroidJavaObject("com.hasee.librarydemo.Test");
       //调用Test的add方法并显示在Text上
        text.text = obj.Call<int>("add", 3, 5).ToString();


        //Test2类的调用方法
        //创建Test2类的引用
        AndroidJavaClass test2 = new AndroidJavaClass("com.hasee.librarydemo.Test2");
        //调用Test2的add方法并显示在Text2上(因为Test2的add方法是静态的所以可以直接用类调用)
        text2.text = test2.CallStatic<int>("add", 3, 6).ToString();
    }
	
	
}

打包并运行程序得到结果,调用成功

总结

用如上的方法能比拷贝classes.jar并新建MainActivity的方法方便很多,而且后期要添加方法也只需要多添加一些jar包就行了,如果需要安卓调用Unity还是需要添加classes.jar,不过还是和上述一样无需编写MainActivity。以上方法适用于无需安卓权限的安卓方法调用,如果涉及到需要安卓的权限还需要加入AndroidManifest.xml文件并设置主Activity,这个应该不是很难在这篇文章就不详细介绍了,如果以后有时间我可以写一写

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值