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

1、android Studio 打Jar包的更多相关文章

  1. Android Studio导出Jar包

    这篇博客将介绍一下如何用Android Studio导出jar包,希望能给大家带来帮助. 首先需要修改build.gradle文件,在Android Studio中会显示多个build.gradle文 ...

  2. Android Studio 生成Jar包以及是否混淆打包等ZengYuanFinn博客等你来查看

    1,Android studio生成jar包的前提是要确保生成的代码是引用的module工程: 2,在需要生成jar包的build.gradle(上图倒数第三行)中添加如下代码: //生成jar包 t ...

  3. android studio 使用jar包,arr包和怎么使用githup开源项目中的aar包或module

    我这里的android studio的版本是2.2.3版本 一.现在大家都用android studio了,就有人问怎么使用jar包 其实使用jar包比较简单 直接吧jar放入工程的app目录下的li ...

  4. Android Studio导出Jar包并混淆

    在Android Studio中,自带反编译查看class文件,如果没有混淆的话,class文件跟java文件基本没有区别了,为了保护,还是混淆的好. 网上看了不少资料,都是直接下载proguard额 ...

  5. android studio导jar包找不到类的解决方法

    今天更新了universal-image-loader-1.9.5.jar文件,studio死活找不到其中相关的类,上网百度试了很多办法,总算解决了,具体方法跟一篇老外的帖子的差不多,这里分享下. 解 ...

  6. Android Studio导入jar包

    使用开源框架是,可以直接复制源代码到自己的项目(本人在Android Studio中操作报R程序包不存在),也可以使用jar包,下面记录一下今天使用SmartImageView.jar的过程,不记录S ...

  7. Android Studio 导出jar包

    不像在Eclipse,可以直接导出jar包.AndroidStudio只可以生成aar包. 在网上看到许多朋友问怎么可以像Eclipse一样导出jar包,其实我们只要知道它的原理就可以了. 用jar命 ...

  8. Android Studio 生成Jar包时遇到的gradlew下载问题

    网上介绍说使用gradlew打包jar,可是输入gradlew makeJar后就开始download  XXX.zip,但是等了很久都没有完成.解决办法如下: 原文:http://blog.csdn ...

  9. Android实战技巧之十九:android studio导出jar包(Module)并获得手机信息

    AS中并没有独立的Module 工程,可是能够在普通的Project中增加Module.所谓的Module就是我们通常所指的模块化的一个单元.并经常以jar包的形式存在.以下以一个获取手机信息的样例演 ...

  10. Android Studio 修改jar包中的.class代码

    修改a.jar中的b.class文件: 1.在Android Studio的项目中引入a.jar,sync,通过反编译找到并拷贝b.java的代码 2.使用压缩软件打开a.jar,并删掉需要修改的文件 ...

随机推荐

  1. 【Azure 应用服务】Azure Powershell Function 出错 The term 'Connect-AzAccount' is not recognized

    问题描述 在Azure Function中,执行Powershell的Function脚本时,先后出现 1:[Error] ERROR: The term 'Connect-AzAccount' is ...

  2. Netty笔记(5) - 编码解码机制 和 Protobuf技术

    介绍: 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 codec(编解码器) 的组成部分有两个:decoder(解码器)和 encode ...

  3. ReentrantLock原理CAS+AQS队列

    ReentrantLock主要利用CAS+AQS队列来实现.它支持公平锁和非公平锁,两者的实现类似. CAS:Compare and Swap,比较并交换.CAS有3个操作数:内存值V.预期值A.要修 ...

  4. Redis队列优先级的实现方案

    场景 通常使用 list 来实现队列操作,所有的任务统一都是先进先出的原则,如果想优先处理某个任务就不太合适,这个时候就需要让队列有优先级的概念,实现方式有以下两种方式: 单一列表实现 队列正常的操作 ...

  5. 使用 Docker 部署 GLPI 资产管理系统

    1)GLPI 介绍 GLPI 简介 参考: https://github.com/glpi-project/glpi 官方文档:https://glpi-project.org/documentati ...

  6. 最强本地缓存Caffeine

    Caffeine 是基于 JAVA 8 的高性能缓存库.并且在 spring5 (springboot 2.x) 后spring 官方放弃了 Guava,而使用了性能更优秀的 Caffeine 作为默 ...

  7. 案例8:将"picK"的大小写互换

    最终输出结果为PICk. 需要先计算两个字母之间的间隔,比如a和A之间的间隔为多少. 然后在将大写字母转换为小写字母,加上间隔的值: 将小写字母转换为大写字母,减去间隔的值. 示例代码如下: #def ...

  8. [VueJsDev] 基础知识 - CommonJs VS ES Module

    [VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html CommonJs VS ES Module ::: deta ...

  9. 一个简易的ORM框架的实现(二)

    框架目标 什么是框架,框架能做到什么? 把一个方向的技术研发做封装,具备通用性,让使用框架的开发者用起来很轻松. 属性: 通用性 健壮性 稳定性 扩展性 高性能 组件化 跨平台 从零开始-搭建框架 建 ...

  10. JSP、Servlet中的相对路径和绝对路径

    http://www.webjx.com  更新日期:2005-03-31 11:11  出处:网页教学网  作者: JSP和Servlet中的绝对路径和相对路径问题困扰了我好几天,经过努力之后将其部 ...