1、android Studio 打Jar包

1、创建一个AndroidStudio 工程


注意下面这个Package Name

2、进入Android Studio工程中


选择Project Flies 选项 然后找到 app->src->main-> 接下来就是自己的文件夹了 -
找到最后一个文件夹 我的是unitytoandroid 右键创建Java类 (如果这里灭有Java类-可能是你的AndroidStudio 还没下载完 看AndroidStudio右下角有没有下载完毕) 下载完毕之后就可以创建Java类了
自己起一个名字

3、开始写入代码

4、到最重要的一步打包了

(1)-找到build.gradle文件打开

(2)-打开之后是这样的

(3)-修改成下图这样的

apply plugin: 'com.android.library' 加入
    task makeJar(type: Copy) {
        //删除存在的
        delete 'build/libs/Test.jar'
        //设置拷贝的文件
        from('build/intermediates/aar_main_jar/release/')
        //打进jar包后的文件目录
        into('build/libs/')
        //将classes.jar放入build/libs/目录下
        //include ,exclude参数来设置过滤
        //(我们只关心classes.jar这个文件)
        include('classes.jar')
        //重命名
        rename ('classes.jar', 'Test.jar')
    }
    makeJar.dependsOn(build)

(3)-编辑完之后 点击右上角的Sync Now按钮

(4)-等待运行 运行成功之后-我们可以看到task方法前面有个播放按钮 点击播放按钮运行

(5)-运行结束之后

可以看到多出一个build文件夹 (如果运行成功-没有这个文件夹-自己去app目录下创建一个build/libs文件夹)
去找到这个目录下 拷贝这个文件 复制到Unity Plugins/Android/libs/目录下

5、创建一个脚本

using UnityEngine;
using UnityEngine.UI;
//在电脑上运行可能出不来效果  需要打包到手机上测试
public class TestUnity : MonoBehaviour
{
    public Text text;

    public AndroidJavaObject androidJavaobject;
    
    private void Start()
    {
        androidJavaobject = new AndroidJavaObject("imsdk.u3d.unitytoandroid.Test");//这个是androidStudio创建的包名加上自己创建的脚本
    }

    public void intClick()
    {
        text.text = androidJavaobject.Call<int>("testInt").ToString();
        Debug.Log(androidJavaobject.Call<int>("testInt"));
    }
    public void stringClick()
    {
        text.text = (androidJavaobject.Call<string>("testString"));
        Debug.Log(androidJavaobject.Call<string>("testString"));
    }
    public void setStringClick()
    {
        text.text = androidJavaobject.Call<string>("testSetString", "sss");
        Debug.Log(androidJavaobject.Call<string>("testSetString", "sss"));
    }
}

6、项目地址

https://gitee.com/Aaron_han/AndroidStudio_jar

posted @   Aaron丶Han  阅读(1029)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示