Unity接入Android SDK打包错误处理,SDK集成

SDK接入一般是打jar或者aar包给Unity使用,现在官方推荐是使用aar包



1.准备工作:

首先需要AndroidStudio创建一个空的项目,选择Empty Activity

SDK unity 加入android 打包报错 unity接入android sdk_jar


SDK unity 加入android 打包报错 unity接入android sdk_Android_02


SDK unity 加入android 打包报错 unity接入android sdk_Android_03

最低版本(Minimum SDK)这边选择API 16 这个版本以上基本能兼容市面上大多数 打开项目后,New module

SDK unity 加入android 打包报错 unity接入android sdk_sdk_04


选择Android Library

SDK unity 加入android 打包报错 unity接入android sdk_jar包_05

SDK unity 加入android 打包报错 unity接入android sdk_unity_06

接着找到你使用的Unity程序的桌面程序,打开文件位置、或者找到Unity安装位置,找到Unity和Android交互的基本jar包 ,对应路径为Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes,把classes.jar按住Ctrl键拖拉到libs文件夹中,选择OK

SDK unity 加入android 打包报错 unity接入android sdk_sdk_07


然后右键jar包,选择Add As Library,引用到库中选择ok

SDK unity 加入android 打包报错 unity接入android sdk_unity_08


然后查看对应的module的build.grade是否有添加引用

SDK unity 加入android 打包报错 unity接入android sdk_jar_09


这样准备工作基本上就结束了

2. 接入SDK:

按照官方的接入文档接入即可,不过要无法把离线集成的Android版本打出aar包给到unity,sdk中的jar接入和unity自带jar接入步骤一样。如果SDK官方提供有aar需要接入,则导入使用后,将aar包和最后导出的SDK的aar包放在Unity中的Plugin/Android目录下使用

Unity调用Androidstudio的内容

登录后复制


AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call<int>(FuncName, args);

com.unity3d.player.UnityPlayer"这边是com.unity3d.player包名,UnityPlayer是类名如果是需要调用对应的自己的方法可以使用自己的包名和类名,这边call后面的int是对应Androidstudio那边方法的返回值,这边args是参数。
比如还可以把active当做参数传递,这样调用

登录后复制


AndroidJavaClass playerCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = playerCls.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject ShareManager = new AndroidJavaObject("com.inspiration.sharelibrary.ShareManager");
ShareManager.Call("InitSdk", activity);

Androidstudio中调用Unity的内容

登录后复制


UnityPlayer.UnitySendMessage(gameObjectName,FuncName,args);

gameObjectName为unity中游戏物体的名字

3. 打出aar包给Unity使用:

SDK unity 加入android 打包报错 unity接入android sdk_Android_10

打出aar包有debug包和release包,根据你项目的需求可以在这边进行修改,也可以通过Terminal中调用 implementation fileTree(include: [’*.jar’], dir: ‘libs’) 代码实现打出release包打包方法:选中你的包,选择Make Moudle ’你对应Moudle的名字’,切换到Project视图在build/outputs下面可以看到打出来的aar包

SDK unity 加入android 打包报错 unity接入android sdk_unity_11


SDK unity 加入android 打包报错 unity接入android sdk_jar包_12

使用压缩工具打开aar包,将libs下的classes.jar删除,这个是之前我们从Unity的拷过来的jar包,其他sdk的jar包不要去改动。然后这个aar包放在Unity对应的Assets\Plugins\Android目录下即可

SDK unity 加入android 打包报错 unity接入android sdk_jar_13


SDK unity 加入android 打包报错 unity接入android sdk_Android_14

4. 注意事项:
调用其他aar包引用时,打出的aar包是不会包括libs下面的拷入的aar,等使用的时候一同放在Assets\Plugins\Android目录下即可
可能会用到的网址Androidstudio和Unity反射交互


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空