Unity接入AndroidSDK

Unity中已嵌入Android的SDK,Unity可以很方便的和Android实现相互调用,对于第三方的SDK,只提供了与安卓交互,因此需要通过AndroidStudio与Unity进行交互;

扩展AndriodStudio中的Activity

使用AndroidStudio创建Android Library库工程,导出到Unity中作为插件使用;库文件中可以有自己的逻辑和调用;

一,在Unity中使用Android的方法

需要使用到AndroidJavaClass类和AndroidJavaObject

AndroidJavaObject类的一常用方法:

方法描述
Call调用Android代码中的非静态方法
CallStatic调用Android代码中的静态方法
Get获取Android代码中的非静态字段
GetStatic获得Android代码中的静态字段
Set设置Android代码中的非静态字段
SetStatic设置Android代码中的静态字段

二,在AndroidStudio中调用Unity的方法

使用UnityPlayer.SendMessage方法,参数描述如下:

  • A:挂在哪个物体上
  • B:哪个方法
  • C:方法的参数

三,导出文件的描述

  • jar文件:包含有自己写的逻辑的类
  • xml文件:清单文件(签名,图标,安装文件名等)
  • res文件:清单文件中需要的一些资源
  • 还有一些更高级扩展的依赖文件

注意:XML文件里会包含一些包名设置,图标等等,会和Unity中的PlayerSetting里面的设置冲突,当有xml存在时,会使用xml中的设置;

第一步:AndroidStudio创建工程,设置并导出aar包
  • ①:创建一个空的AndroidStudio工程

  • ②:添加Android Libary

    步骤:切换到Project视图 ⇒ 右键 ⇒ New ⇒ Module ⇒ Android Libary ⇒ 命名

  • ③:导入Unity中Android支持的.jar包(classes.jar)

    文件地址:Unity安装目录\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes\classes.jar

  • ④:导入UnityPlayerActivity.java文件到java/com.unity3d.player文件夹下

  • ⑤:添加MainActivity,继承自UnityPlayerActivity

  • ⑥:右键将classes.jar文件设置为Libary

    步骤:右键点击classes.jar文件 ⇒ Add as Libary

  • ⑦:切换到Android视图下将默认的AndroidMainfest.xml的Applaction内容复制到刚才创建的项目中的AndroidMainfest.xml中替换掉,报红就删掉

    • 修改Android:label = "AppName",会覆盖Unity中设置的程序名
    • 在***</intent-filter>的最外层添加<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
  • ⑧:导出aar包

    步骤:选中该项目 ⇒ 点击导航栏Bulid ⇒ Make Module

  • ⑨:找到Debug目录下的Build\outputs\aar.aar的压缩文件,将该文件使用压缩文件打开,删掉Libs下面的classes.jar文件删掉,将aar里面的xml文件,删掉一些通用设置,比如显示图标和App名称

  • ⑩:拷贝出项目文件\buid\intermediates\merged_manifests\debug\processDebugMainfest\Merged\AndroidMainfest.xml

第二步:将导出的aar包导入Unity中使用

一,将导出的aar包和拷贝出的AndroidMainfest复制到Unity工程的Assets\Plugins\Android文件夹下

二,获取AndroidStudio中激活的Activity

private static AndroidJavaClass unityPlayer;
private AndroidJavaObject curActivity;
private void Awake()
{
    unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    curActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Unity接入SDK是指在Unity项目中集成第三方SDK的过程。具体的接入流程包括以下几个步骤: 1. 准备工作:首先,你需要从SDK提供商处获取SDK的相关文件,包括jar文件、iOS的.framework文件等。 2. 导入SDK文件:将SDK的相关文件导入到Unity项目中。对于Android平台,可以将jar文件放置在Unity项目的Plugins文件夹下;对于iOS平台,可以将.framework文件拖入Unity项目中。 3. 配置SDK参数:在Unity中,你需要根据SDK的要求配置相应的参数。这些参数可能包括App ID、App Key、回调URL等。你可以在Unity中创建一个脚本,用来存储和管理这些参数。 4. 调用SDK接口:根据SDK的文档和示例代码,调用SDK提供的接口完成相应的功能。你可以在Unity中编写脚本,通过调用SDK接口实现登录、支付、分享等功能。 以上是Unity接入SDK的一般流程。具体的接入方法和代码示例可以参考SDK提供商的文档和示例代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [unity接入SDK流程(android)](https://download.csdn.net/download/lb18520182905/44974594)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [[Unity]Unity接平台SDK(3种方式)](https://blog.csdn.net/zp288105109a/article/details/80244617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [【Unity游戏开发】SDK接入与集成——小白入门篇](https://blog.csdn.net/weixin_34195142/article/details/85919506)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值