Android Studio 将自己的SDK项目生成jar包给Unity使用

2024-02-13 23:38

本文主要是介绍Android Studio 将自己的SDK项目生成jar包给Unity使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

很多情况下我们开发的项目不是一个完整的app,而是完成一部分功能,供别人的app使用的情况。这时就需要将我们的项目打包生成jar或者arr库文件,让别人的app导入我们的jar包,就能直接使用我们项目中封装的功能,例如,我们常用的v4,v7包,网络请求包httpClient等等,都是作为我们app功能的一部分引入的,这种站在巨人的肩膀上开发的模式很大程度上提升了我们的工作效率,避免了我们再重写写一遍别人已经实现了功能的代码。

最近一个做一款Unity的项目,需要接第3方SDK。创建了一个demo,实现了基本的功能,现在需要把整个工程打包成jar文件提供给app开发人员调用。网上搜索了一通资料发现都是从library生成jar包的情况,没有直接重项目生成jar包的例子,经过自己摸索一番,将过程展现给大家,有需要的童鞋可以参考下

既然可以从library生成jar包,我们的思路还是先将我们的项目作为library供别的项目依赖,然后再获得jar包。

1、先将自己的项目改为library,在app下的build.gradle(主项目的build.gradle

非依赖工程的build.gradle(通常不修改工程名字的话值得是app下的gradle文件如下图1))下修改application为library(注意这一步必须有,否则无法导出jar文件)

 

 

 

2、再将applicationId注销(注意这一步必须有,否则无法导出jar文件)

 

3、sync 一下

好了现在你的项目就可以作为Module导入到任意一个工程里了(如果有现成的项目工程,并且想把整个项目导成jar文件则可以直接修改上图中的build.gradle文件就可以了,下面是第4步和第5步是只导出指定的Module成为jar包如果有需求可以参照4、5两步操作(当然这些是别人的经验,我试过是可以导出jar文件,不过不是我想要的,而且这样导出,对制作UnitySDK的程序猿来说比较麻烦,所以下面我会指出另外的方式导出jar包,测试通过了)

4、我们随意新建一个工程,比如MyLibraryTest,然后将我们刚生成的module导入

路径选择我们刚才生成library的项目的位置,

 

导入进来后直接运行项目,就可以在我们Module下的build/intermediates/bundles/debug下得到我们需要的jar包

5、将jar包复制出来,改下名字就行了

 

 

6. 步骤1:将最前面的apply plugin: 'com.android.application' 修改为apply plugin: 'com.android.library'的版本可以根据自己的版本来改 步骤2:再将applicationId注销  。这些执行完后完成一下操作:

(1). 在build.gradle最后加上

task deleteOldJar(type: Delete) {
delete 'build/outputs/test.jar'
}

task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/libs/')//(如果你没有这个目录则文件就不能复制到这里了反正我是在from指定的路径下找到我要导出的jar文件的
include('classes.jar')
rename ('classes.jar', 'test.jar')
}

exportJar.dependsOn(deleteOldJar, build)

其中是要到处的路径,这个可以自定义,rename里的test.jar是要到处的jar包的名字,也是自定义的。 

这些修改完后就是一下可视化操作了。 

(2).打卡Gradle 

   

(3).打开app->Tasks->other->exportJar 

   

然后双击exportJar就可以了。 

注:如果是第一次导出,可能需要很久,因为Android Studio需要下载一些文件,之后就会很快了。 

运行成功就会显示 

好了,是不是很easy啊,本人亲自再将jar包导入其他的项目,调用jar包中的方法可以访问到,说明此方法可行。

这篇关于Android Studio 将自己的SDK项目生成jar包给Unity使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/706930

相关文章

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

使用TomCat,service输出台出现乱码的解决

《使用TomCat,service输出台出现乱码的解决》本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`... 目录使用TomCat,service输出台出现乱码问题1解决方案问题2解决方案总结使用TomCat,

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

使用Python实现高效的端口扫描器

《使用Python实现高效的端口扫描器》在网络安全领域,端口扫描是一项基本而重要的技能,通过端口扫描,可以发现目标主机上开放的服务和端口,这对于安全评估、渗透测试等有着不可忽视的作用,本文将介绍如何使... 目录1. 端口扫描的基本原理2. 使用python实现端口扫描2.1 安装必要的库2.2 编写端口扫

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE