Unity-SDK接入

游戏客户端和第三方包进行组合 第三方代码: JAVA代码 游戏U3D代码 eclipse AndroidStudio

SDK接入实践: 准备:第三方包、eclipse、jdk、安卓SDK

第三方SDK接入:登录、支付、广告、监控等

接入 1.JAVA先打包成jar,放到U3D工程 2.U3D工程到处,放到JAVA,从JAVA打包APK

选用第一种: 将U3D jar 包放入Eclipse

流程

1.新建Android Project 在Eclipse中新建工程

AndroidProjectCreate.PNG

2.Android Project中引入Class 在AndroidProject工程目录下新建libs,将Unity安装目录下的***\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes中的classes.jar放入Android工程的libs(没有创建一个)中。 3.在java中调用Unity的方法 java中的类继承UnityPlayerActivity,引入import com.unity3d.player.UnityPlayer; import com.unity3d.player.UnityPlayerActivity;这两个包 在java代码中

public void RecFromU3D(String str) {
        SendToU3D(str);
    }
    
    public void SendToU3D(String str) {
        str = str + "Android Call U3D";
        //返回给U3D
        UnityPlayer.UnitySendMessage("GameObject", "OnReci", str);
    }

4.在Unity中调java方法

private void OnGUI()
    {
        if (GUI.Button(new Rect(100,100,300,300),"SendMessage"))
        {
            //点击事件
            using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
            {
                using (AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"))
                {
                    jo.Call("RecFromU3D", "Ce shi");
                }
            }
        }
        GUI.Label(new Rect(100, 400, 100, 300), m_str);

        if(GUI.Button(new Rect(200, 400, 50, 50), "Rotate"))
        {
            Ro = true;
        }
        if (Ro)
        {
            cube.transform.Rotate(new Vector3(0, 1, 0) * Time.deltaTime*10);
        }
    }
    public void OnReci(string str)
    {
        m_str = str;
    }

5.将AndroidProject导出

JARExport.PNG

JAR包的名字与UnityAPK包的名字要相同 将导出的JAR包放入Unity的Plugins\Android\bin 将AndroidProject中的libs与res与AndroidManifest.xml文件放入Plugins\Android。

6.将Unity项目进行打包 设置

PlayerSettting.PNG

注意TargetAPLLevel要设置正确

Res.PNG

参考资料: https://www.cnblogs.com/msxh/p/7220741.html https://blog.csdn.net/lx520aa/article/details/77100423

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jerry的SAP技术分享

使用JavaScript调用手机平台上的原生API

我之前曾经写过一篇文章使用Cordova将您的前端JavaScript应用打包成手机原生应用,介绍了如何使用Cordova框架将您的用JavaScript和HT...

11820
来自专栏Jerry的SAP技术分享

Hybris开发环境的license计算实现

每隔30天,必须重新执行一次initialize命令把本地所有数据全部清掉然后重新build,需要花费一些时间。

9730
来自专栏Jerry的SAP技术分享

使用SAP云平台 + JNDI访问Internet Service

以Internet Service http://maps.googleapis.com/maps/api/distancematrix/xml?origins...

12030
来自专栏Jerry的SAP技术分享

什么是Java Marker Interface(标记接口)

先看看什么是标记接口?标记接口有时也叫标签接口(Tag interface),即接口不包含任何方法。在Java里很容易找到标记接口的例子,比如JDK里的Seri...

9410
来自专栏Jerry的SAP技术分享

Java代理设计模式(Proxy)的四种具体实现:静态代理和动态代理

面试问题:Java里的代理设计模式(Proxy Design Pattern)一共有几种实现方式?这个题目很像孔乙己问“茴香豆的茴字有哪几种写法?”

10920
来自专栏Jerry的SAP技术分享

SAP云平台运行环境Cloud Foundry和Neo的区别

从下图能发现,Cloud Foundry的运行环境,基础设施由第三方公司提供,比如Amazon亚马逊和Microsoft微软,SAP只负责提供和维护platfo...

13920
来自专栏Jerry的SAP技术分享

如何将S/4HANA系统存储的图片文件用Java程序保存到本地

然后我把这段代码封装到一个Function moduleZDIS_GET_MATERIAL_IMAGES里,在Java代码里消费这个function modul...

10030
来自专栏Jerry的SAP技术分享

你真的会用ABAP, Java和JavaScript里的constructor么?

如果constructor里调用了一个成员方法,这个方法被子类override了,当初始化一个子类实例时,父类的构造函数被的调用,此时父类构造函数的上下文里调用...

7220
来自专栏Jerry的SAP技术分享

Internationalization(i18n) support in SAP CRM,UI5 and Hybris

i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。对程序来说,在不修改内部代码的情况...

9420
来自专栏Jerry的SAP技术分享

用JavaScript访问SAP云平台上的服务遇到跨域问题该怎么办

关于JavaScript的跨域问题(Cross Domain)的讨论, 网上有太多的资源了。国内的程序猿写了非常多的优秀文章,Jerry这里就不再重复了。

10420

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励