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

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.lryc.cn/news/533251.html

相关文章:

  • DeepSeek R1 简单指南:架构、训练、本地部署和硬件要求
  • 图论常见算法
  • MySQL三大日志详解
  • 【SQL 中的分组查询与联合查询详解】
  • 【实战篇】用 Cursor 独立开发并上线电商类 Android APP 全攻略
  • quartus24.1版本子模块因时钟问题无法综合通过,FPGA过OOC问题复盘
  • 零基础Vue入门6——Vue router
  • 使用 Let‘s Encrypt 和 OpenResty 实现域名转发与 SSL 配置
  • Lambda 表达式
  • TCN时间卷积神经网络多变量多步光伏功率预测(Matlab)
  • 【Elasticsearch】 Composite Aggregation 详解
  • 如何通过 Logstash 将数据采集到 Elasticsearch
  • mysql的cpu使用率100%问题排查
  • centos虚拟机迁移没有ip的问题
  • 接入 deepseek 实现AI智能问诊
  • 用AVFrame + AVPacket 完成accede编码和直接用ffmpeg命令行实现acc编码的对比
  • 计算机网络笔记再战——理解几个经典的协议6——TCP与UDP
  • 【AI】在Ubuntu中使用docker对DeepSeek的部署与使用
  • openssl使用
  • 《语义捕捉全解析:从“我爱自然语言处理”到嵌入向量的全过程》
  • HIVE如何注册UDF函数
  • VsCode创建VUE项目
  • x64、aarch64、arm与RISC-V64:详解四种处理器架构
  • 如何使用iframe来渲染ThingsBoard仪表盘
  • 退格法记单词(类似甘特图)
  • 计算 MySQL 表行的成本是多少?
  • Pygame介绍与游戏开发
  • webpack配置方式
  • 10. k8s二进制集群之Kube Scheduler部署
  • java实现8583报文解析技术详解