Uinty3d 工程导入 Android Studio

目录

1.Unity3d项目导出

2.Android Studio导入

 3.配置

 4.引用(显示)


1.Unity3d项目导出

点击File->Bulid Settings 选择Android和项目包导出形式进行项目导出

导出时可能会遇到问题,注意名字和项目包名一致

导出后的文件结构如下

2.Android Studio导入

随意建立一个空的Android Studio项目即可

导入

1.最简单的简单的导入方式是直接选择Unity导出的项目包里的 unityLibrary 文件进行导入。

2.Android Studio可能因为版本问题而存在导入Moudle包的BUG(我就是,2020.3.1版本,导入时不能点击FInish),因此需要自己手动导入。

1)添加导入的包名,格式为:    ,':包名'    ,此时不要点 Sync Now

 2)将需要导入的包(我这里是 unityLibrary 文件)复制到Android Studio的项目中

 3)重启Android Studio,编译。

如果有报错  unityStreamingAssets 未找到的问题,在图中文件中加入下面这句即可

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

 如果还有其他报错则可能需要修改我们导入的包中的对应文件的SDK版本适配自己的Android Studio的问题,将其修改为适配AS的版本即可。

 编译成功的话就成功导入了。

3.为 Android 添加 unityLibrary 的引用 ,按图点击进入选择

按步点击之后勾选自己需要导入的包后确定即可。

 3.配置

在app的 strings.xml 文件中添加下面代码

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

在app的build.gradle 文件中分别添加下面代码

 ndk { abiFilters 'armeabi-v7a' }


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

将导入的 unityLibrary 包中的AndroidManifest.xml 文件中的 <application>... </application>部分注释掉。

 4.引用(显示)

1.创建unity继承类并通过一个Activity 去显示 Unity 渲染的场景,在 MainActivity 中通过 Intent 跳转到负责 Unity 场景显示的类中去。

在 app 的 java 文件夹下建立两个新的 java 类,如图

 代码如下:


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;
    }
}
import com.unity3d.player.UnityPlayerActivity;

public class MainUnityActivity extends UnityPlayerActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}

2.在app的 AndroidManifest.xml 文件夹下声明 MainUnityActivity

3.在 MainActivity 通过 Intent 跳转到 Unity 场景

至此,就可以将app打包在android系统上运行了,因为这里是在 MainActivity 直接使用 Intent 跳转到Unity场景,因此,打开运行app会直接全屏显示Unity场景。

下面是我参考的大神的博客,第二篇里面也有怎么窗口化显示Unity场景:

将Unity工程导入Android Studio中(Unity、AS混合开发)_一碗馄饨面的博客-CSDN博客

Android/iOS内嵌Unity开发示例 - zhxmdefj - 博客园

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值