我是靠谱客的博主 动听火,最近开发中收集的这篇文章主要介绍Android集成unity工程以及交互的那些事,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Android端集成步骤

第一步引入 unityLibrary包到项目中

File --> new --> import module  导入library

第二步在settings.gradle里面添加

project(':unityLibrary').projectDir=new File('unityLibrary')

第三步 项目级build.gradle里面添加

 flatDir {

    dirs "${project(':unityLibrary').projectDir}/libs"

}

第四步 修改unityLibrary里面的 AndroidManifest.xml 文件

删除

<intent-filter>

    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

<meta-data

    android:name="android.notch_support"

android:value="true" />

这样就不会app启动时先启动unity程序

在 <activity> 添加 使unity成为独立的进程,这样退出unity时不会闪退

android:launchMode="singleTask"
android:process="e.unity3d"

第五步在unityLibrary新建一个 MyUnityPlayer.class 继承UnityPlayer 

重写 一个 kill空方法 这样unity返回到app主界面不会卡顿

第六步在UnityPlayerActivity 中 写一个 ReturnAPP方法 unity点击返回退出当前unity界面返回app主界面

/*

Android 退出App

 */

public void ReturnAPP(){

    finish();

}

第七步app主项目引用unityLibrary库

在app底下build.gradle中dependencies添加

implementation project(path: ':unityLibrary')

在app底下AndroidManifest.xml   application中添加

tools:replace="android:theme"

解决合并AndroidManifest.xml文件AppTheme冲突问题

在app底下strings.xml文件中添加

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

解决打开unity界面找不到资源文件的问题

在app底下 build.gradle 中设置支持的SO库架构 解决unityLibrary库 .so文件兼容问题

       ndk {

         abiFilters 'armeabi-v7a'

        }

第八步 跳转到unity界面

Intent intent = new Intent(MainActivity.this, UnityPlayerActivity.class);

startActivity(intent);

Android 与unity交互

Android发送信息给unity ,前两个参数unity定义,最后一个参数是要发送给unity的内容,内容只能是string类型

UnityPlayer.UnitySendMessage("MainCanvas","OpenAblbumCallBack","要发送的内容");

unity获取Android的信息   例如下面的方法,unity调用Android的方法,返回Android界面

public void ReturnAPP(){
    try {
        Class<?> aClass = Class.forName("com.example.rainbow.ui.activity.LoginActivity");
        startActivity(new Intent(this, aClass).putExtra("unity","unity3d"));
        finish();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

最后

以上就是动听火为你收集整理的Android集成unity工程以及交互的那些事的全部内容,希望文章能够帮你解决Android集成unity工程以及交互的那些事所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部