当前位置:   article > 正文

Android集成unity工程以及交互的那些事_unity工程集成安卓项目,unity是主体

unity工程集成安卓项目,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();
    }
}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/118937?site
推荐阅读
相关标签
  

闽ICP备14008679号