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

相关文章

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t