将Unity工程导入Android Studio中(Unity、AS混合开发)

环境

  • Unity 2019.4.8
  • Android Studio 4.0.1

1.配置Unity工程的环境

在这里插入图片描述
创建OverrideUnityActivity.java文件,并放在Unity工程中,目录结构如上所示
文件内容如下所示

package com.company.product;
import android.os.Bundle;
import android.widget.FrameLayout;

import com.unity3d.player.UnityPlayerActivity;

public abstract class OverrideUnityActivity extends UnityPlayerActivity
{
    
    
    public static OverrideUnityActivity instance = null;

    abstract protected void showMainActivity(String setToColor);

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
    
    
        super.onCreate(savedInstanceState);
        instance = this;
    }

    @Override
    protected void onDestroy() {
    
    
        super.onDestroy();
        instance = null;
    }
}

该文件的作用到下面你就知道啦

2.Unity导出Android工程

在这里插入图片描述
导出的目录结构如下所示
在这里插入图片描述

3.导入Android Studio

新建一个空的安卓工程,包名和API Level没有限制
将unity导出文件目录下的unityLibrary文件夹以module形式导入Android Studio
在这里插入图片描述

4.修改build.gradle(module:app)

在这里插入图片描述
在这里插入图片描述

5.修改build.gradle(Module:NativeAndroidApp)

在这里插入图片描述

6.修改strings.xml(Module:app)

在这里插入图片描述
这一步很重要,虽然我还不知道它的作用是什么

7.删除AndroidManifest中部分代码(module:unityLibrary)

在这里插入图片描述
删除AndroidManifest中指定的代码,这部分代码会导致打包的APK安装后出现两个图标

8.创建MainUnityActivity类(Module:app)

在这里插入图片描述
该类继承自OverrideUnityActivity

9.修改AndroidManifest(Module:app)

在这里插入图片描述

<activity android:name=".MainUnityActivity"
            android:screenOrientation="fullSensor"
            android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density"
            android:hardwareAccelerated="false"
            android:process=":Unity"
            android:label="UnityProject">
 </activity>

10.调起Unity场景

到这一步就可以看到一些阶段性成果了
在这里插入图片描述

参考资料

Unity官方案例
https://github.com/Unity-Technologies/uaal-example
不知姓名的大神
https://blog.csdn.net/u014361280/article/details/91888091#案例测试环境:[
https://www.cnblogs.com/zhxmdefj/p/13273560.html

特别鸣谢张哥,在Android Studio方面给我指导了很多。

猜你喜欢

转载自blog.csdn.net/qq_40028144/article/details/108058407