当前位置: 首页 > article >正文

Android studio 创建aar包给Unity使用

1、aar 是什么? 和 Jar有什么区别

  • aar 和 jar包 都是压缩包,可以使用压缩软件打开

  • jar包 用于封装 Java 类及其相关资源

  • aar 文件是专门为 Android 平台设计的 ,可以包含Android的专有内容,比如AndroidManifest.xml 文件 , 资源文件 等等

2、在Android studio中创建 aar

2.1 创建项目

这个对于我来说很难,没用过Android studio,没用过gradle,搞起来一脸懵逼。接下来一步一步跟我来

打开Android studio,file->new project 创建一个项目承载这个模块,接着选择 Phone and Tablet

这里要注意选择Java作为编程语言,以及Groovy 作为gradle的语言,接着finish就好了

等待一会整个项目就完成了,这里我们切换到project视图,而不是默认的Android视图

2.2 清理项目

打开项目文件夹,直接删除app文件夹,然后打开settings.gradle 修改

去除 include ':app',最终整个项目结构如下

2.3 创建aar项目

file -> new module ,然后选择 Android Library,如下图

Finish之后,最终整个项目如下图

随便创建一个类,接着我们开始打包aar

2.4 打包aar

最简单的打包方式使用Android studio内置的打包方式,

方式1:在 Android Studio 中

  • BuildMake Project

  • BuildBuild Bundle(s) / APK(s)Build APK(s)

方式2:使用gradle打包

打开右侧 gradle边栏,使用assemble

方式3:直接使用gradle命令打包

切换到当前项目的根目录,使用 ./gradlew assembleRelease 进行打包

2.5 打包所在地址

当前模块的build/outputs目录下有打包好的aar

把这东西交给unity同学使用就行了,

具体的使用可以看这篇文章:unity调试Android,C# 直接访问Java代码

3、关于gradle

gradle 咋说呐,不太懂,简单理解就是和maven同样的东西

gradle 就是用编程的方式控制编译的过程,这玩意太灵活了,对于我来说能用就完了

3.1 gradle同步

在最初的时候没有gradle的工具菜单,都是使用方式三进行打包

设置完build.gradle 一般会弹出一个sync now的按钮,如果同步不成功 可以强制同步

File -> Sync Project with Gradle Files,这样gradle就可以了。

3.2 gradle文件说明

build.gradle(Project:LibContainer) 是整个项目的编译文件,也就是会编译所有模块

build.gradle(Module:mylibrary) 是类库的编译文件,只会编译当前模块

settings.gradle 是整个项目的通用设置,类似Maven的父 pom.xml

gradle.batgradle的命令

rules.proAndroid用来混淆代码的,可以无视

总体来说整个架构和Maven的父子模块很类似


http://www.kler.cn/a/537077.html

相关文章:

  • 搭建集成开发环境PyCharm
  • MySQL开窗函数种类和使用总结
  • STM32的HAL库开发---高级定时器---输出比较模式实验
  • 水波效果
  • 确保数据一致性:RabbitMQ 消息传递中的丢失与重复问题详解
  • Spring 核心技术解析【纯干货版】-Spring 数据访问模块 Spring-Jdbc
  • 使用 Axios ——个人信息修改
  • ES6 Set 数据结构用法总结
  • Flutter List 的 every 如果回调函数抛出异常 应该如何处理
  • 尚硅谷 vue3+TS 课程笔记
  • Flutter Isolate解决耗时任务导致卡死
  • 工业以太网profinet网关:解锁生产效率提升的“超级钥匙”
  • 【DeepSeek-R1训练笔记】随手记录一些训练log
  • 【leetcode100】岛屿的最大面积
  • Rust语言进阶之标准输入: stdin用法实例(一百零五)
  • CRM系统中的数据分析和报表功能如何帮助企业?
  • 58页PPT学习华为面向业务价值的数据治理实践
  • windows版的docker如何使用宿主机的GPU
  • nas-群晖docker查询注册表失败解决办法(平替:使用SSH命令拉取ddns-go)
  • opentelemetry-collector 配置elasticsearch
  • 设计高效的测试用例:从需求到验证
  • 协议桥梁~Profinet与Ethernet IP的智慧连接完美应用在汽车制造业
  • 【DeepSeek:国产大模型的崛起与ChatGPT的全面对比】
  • leetcode_47全排列II
  • 【Pytorch】nn.RNN、nn.LSTM 和 nn.GRU的输入和输出形状
  • 荣耀内置的远程控制怎样用?荣耀如何远程控制其他品牌的手机?