Unity开发之使用aar接入SDK

本文详细介绍了在Unity中使用aar文件接入Android SDK的步骤,包括配置开发环境、构建项目、删除不必要的文件、引入Unity jar包、编写代码、真机测试以及注意事项。在Android Studio中创建Library模块,删除app模块,导入UnityPlayer的classes.jar,并在AndroidManifest中配置基础内容。在编写代码后,通过Gradle编译生成aar文件,解压删除冲突的classes.jar,再重新打包。最后,将aar文件导入Unity的Plugins/Android目录下进行真机测试。
摘要由CSDN通过智能技术生成

参考链接:https://blog.csdn.net/ZhangDi2017/article/details/65629589
最近负责项目的SDK接入,之前没使用过Android Studio,基本算是从零学起,大部分内容参考自逝水追风的博客,并结合我的实际情况进行了修改、优化,谨以此篇记录所学

开发环境

  1. 系统环境:Mac
  2. 开发软件:Unity 2017.2.0f3 、Android Studio 3.4.1。
  3. 所需类库:UnityPlayer等需要的classes.jar包。Mac中位置:在应用程序中找到unity app 同级目录下的PlaybackEngines文件夹,AndroidPlayer/Variations/mono/Development/Classes/classes.jar

项目构建

1

启动Android Studio新建一个Project,会弹出创建工程向导,这里可以随意填写Package Name和Mininum SDK,最后让选择的Activity类型也可以随意。因为我们并不会用到现在创建的这个项目,我们只是在其结构上再创建一个Library作为我们的Plugin。这里值得注意的是,根据你填写的Company domain和Application name生成的Package name总是小写的,点击右侧的Edit按钮可以对其进行修改。

2

创建项目点击Finish后进入编辑器界面,空无一物,点击左侧的Project,然后切换至Project视图,如图下图左所示。随后在项目名称上点击右键选择New -> Module来创建一个新的模块,这时新的创建向导会启动,选择Android Library类型,随后输入包名的配置与Mininum SDK,注意这里的Package Name需要和Unity项目中的Bundle Identifier保持不一致,同时也要避免与其他模块重名,原因是下面要使用Unity的Gradle模式打包,重名会导致打包失败;而Mininum Required SDK最好选择4.0以上,要不然还需要引入android-support-v7兼容包,而且随后会用到Android 3.0之后才支持的Fragment特性(请先确定Unity支持的最低版本,我的Unity支持的Android版本最低为4.1(API level 16)),最后点击Finish完成创建。
切换project视图

3

在新的Library创建完成后,需要删除app相关的内容。点击菜单栏File -> Project Structure,在Modules中选中app然后点击上方的-号,选择YES,最后点击OK,稍等一会儿,等待系统编译。
在这里插入图片描述

4

如果不小心点到最上边Modules右边的-,按下图所示重新打开即可
返回

5

回到Project视图,右键点击app,选择删除。
删除app目录

6

展开刚创建的Library目录如下图中所示,以后所有的开发操作都会在创建的这个Library下面进行。下面对项目的结构进行一些说明。build/outputs/aar文件下面是构建生产的供Unity使用的aar文件(aar文件和jar文件类似,Unity可以识别,如果没有aar文件,通过Build->Rebuild Project重新编译一下);libs文件夹下面是项目以来的类库,可以说各种SDK的jar等等;最后是src文件夹,这里面存放了AndroidManifest以及源码。这些内容有一些是不需要的,例如一些单元测试的内容,我们删掉测试工程以及res下面的Android自带的资源及配置(白框部分),只保留了AndroidManifest.xml。
结构

7

接下来是配置AndroidManifest的内容。双击打开AndroidManifest.xml,如果里面有一些红色的内容,那些是因为刚才各种删除导致的,删掉其余不相关的内容,只保留最基础的东西(原文内容,我测试过程中没有出现上述情况)

8

最后就是编写自己的插件或者对接第三方SDK了。首先引入Unity的jar包(Mac中位置:在应用程序中找到unity app 同级目录下的PlaybackEngines文件夹AndroidPlayer/Variations/mono/Development/Classes/classes.jar
在这里插入图片描述
classes.jar拷贝到文件夹里libs文件夹下面,还是点击File -> Project Structure,在左侧选择Dependencies,选择自己创建的插件,先删除的现存的所有依赖库,然后点击+号 ->Jar Dependency添加Unity的jar包,点击OK完成设置。对于第三方SDK的jar包,以同样的方式进行引入。 如果第三方依赖库中有so文件,先不需要导入,稍后将会说明如何添加so文件。如果库文件为 *.jar(Unity的jar包) *.aar(例如支付宝),千万不要这样导入,具体参考补充第2条,这样只需要导入一次而已,不用每开发一个插件,都要导入一次jar包, 并且打出的aar包中不会包括引用库,也就不会引起打包冲突 。到这一步,项目、依赖库都设置完毕。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值