android studio集成unity导出工程的实现

 更新时间:2022年05月15日 16:29:41   作者:ithinking110  
本文主要介绍了android studio集成unity导出工程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

最近需要将 unity 导出工程 嵌入到 android 工程

环境

1,android studio 2021.1.1.1
2, unity 2021.2.4

新建android 工程

1,

2,

导出 unity 工程

1,

2,导出结果 unityLibrary 就是我们想要的结果 launcher 暂时用不上

3, 在android 工程中

4,选择unitylibarary 目录

5,

6,更改 app gradle配置文件:

 implementation project(path:':unityLibrary')
 implementation fileTree(dir: project(':unityLibrary').getProjectDir().toString()+('\\libs'), include: ['*.jar', '*.aar'])

     ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a'
        }


7,删除manifest配置

8, 在 gradle.property 添加配置 不加这个会报错

unityStreamingAssets=.unity3d, google-services-desktop.json, google-services.json, GoogleService-Info.plist

9,添加 value值 不加也会挂掉

<string name="game_view_content_description">Game view</string>

10,调用

Button myBtn=  findViewById(R.id.button);

myBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(MainActivity.this,UnityPlayerActivity.class);
        startActivity(intent);
    }
});

android c# 互相调用

android 调用 c#

package com.xingame.unitycallandroid;

import android.os.Bundle;
import android.widget.Toast;

import com.unity3d.player.UnityPlayer;

public class MainActivity extends UnityPlayerActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
    }

    //unity调用Android
    public void UnityCallAndroid () {

        Toast.makeText(this,"unity调用android成功", Toast.LENGTH_LONG).show();

        AndroidCallUnity();
    }
    
    //android调用unity
    public void AndroidCallUnity () {

        //第1个参数为Unity场景中用于接收android消息的对象名称
        //第2个参数为对象上的脚本的一个成员方法名称(脚本名称不限制)
        //第3个参数为unity方法的参数
        UnityPlayer.UnitySendMessage("receiveObj", "UnityMethod", "This is args.");
    }

}

c# 调用 java

  private void OnBtnClickHandler()
    {
        using (jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer")){
            using (jo = jc.GetStatic<AndroidJavaObject>("currentActivity")){
                jo.Call("UnityCallAndroid");
            }
        }
    }

到此这篇关于android studio集成unity导出工程的实现的文章就介绍到这了,更多相关android studio unity导出工程内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Android中的 AutoCompleteTextView实现自动填充

    基于Android中的 AutoCompleteTextView实现自动填充

    本篇文章小编为大家介绍,基于Android中的 AutoCompleteTextView实现自动填充。需要的朋友参考下
    2013-04-04
  • Android布局控件DrawerLayout实现完美侧滑效果

    Android布局控件DrawerLayout实现完美侧滑效果

    这篇文章主要为大家详细介绍了Android布局控件DrawerLayout实现完美侧滑效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • android使用PullToRefresh实现下拉刷新和上拉加载

    android使用PullToRefresh实现下拉刷新和上拉加载

    本篇文章主要介绍了android使用PullToRefresh实现下拉刷新和上拉加载,具有一定的参考价值,有兴趣的可以了解一下。
    2016-12-12
  • Android 异步任务和消息机制面试题分析

    Android 异步任务和消息机制面试题分析

    这篇文章主要为大家介绍了Android 异步任务和消息机制面试题分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • APK包名修改 请问如何修改APK包名

    APK包名修改 请问如何修改APK包名

    今天,想在android手机上安装两个相同的应用,本以为可以安装不同版本的,试了几次,均相互覆盖了,于是,只能设法修改apk所对应的包名(package name),需要了解的朋友可以参考下
    2012-12-12
  • Android使用http实现注册登录功能

    Android使用http实现注册登录功能

    这篇文章主要为大家详细介绍了Android使用http实现注册登录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • cocos2d-2.0-x-2.0.3 交叉编译到android报错解决

    cocos2d-2.0-x-2.0.3 交叉编译到android报错解决

    我用的是cocos2d-2.0-x-2.0.3 之前弄了一天也没成功 今天来了下载了最新的ndk8 更新了sdk 又重新是了一遍 居然成功了,不知道是工具的版本问题还是哪一步出错误了,在这里详细的整理一下,感兴趣的朋友可以了解下
    2013-01-01
  • Android  图片的颜色处理实例代码

    Android 图片的颜色处理实例代码

    本文主要介绍Android 图片的颜色处理的知识,这里附上一个示例帮助大家学习理解这中实现方法,有需要的小伙伴可以参考下
    2016-09-09
  • Android利用RenderScript实现毛玻璃模糊效果示例

    Android利用RenderScript实现毛玻璃模糊效果示例

    毛玻璃效果(亦称磨砂效果),近两年在移动端的UI设计上越来越流行,下面这篇文章主要介绍了Android利用RenderScript实现毛玻璃模糊效果的相关资料,文中给出了详细的示例代码,需要的朋友可以参考学习,下面来一起看看吧。
    2017-03-03
  • Android仿IOS系统悬浮窗效果

    Android仿IOS系统悬浮窗效果

    这篇文章主要为大家详细介绍了Android仿IOS系统悬浮窗效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09

最新评论