欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android端集成unityLibrary

程序员文章站 2022-03-08 15:56:53
Android端集成unityLibrary第一步引入 unityLibrary包到项目中第二步在settings.gradle里面添加第三步 项目级build.gradle里面添加第四步 修改unityLibrary里面的 AndroidManifest.xml 文件第五步在unityLibrary新建一个 MyUnityPlayer.class 继承UnityPlayer第六步在UnityPlayerActivity 中 写一个 ReturnAPP方法 unity点击返回退出当前unity界面返回app...

第一步引入 unityLibrary包到项目中

Android端集成unityLibrary

第二步在settings.gradle里面添加

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

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

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

Android端集成unityLibrary

第四步 修改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"

Android端集成unityLibrary

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

public class MyUnityPlayer extends UnityPlayer {
    public MyUnityPlayer(Context context) {
        super(context);
    }

    public MyUnityPlayer(Context context, IUnityPlayerLifecycleEvents iUnityPlayerLifecycleEvents) {
        super(context, iUnityPlayerLifecycleEvents);
    }

    public void kill() {

    }
}

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

/*
Android 退出App
 */
public void ReturnAPP(){
    finish();
}

第七步app主项目引用unityLibrary库

在app底下build.gradle中dependencies添加

 implementation project(path: ':unityLibrary')

第八步 跳转到unity界面

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

解决一些冲突问题

在app底下AndroidManifest.xml application中添加

tools:replace="android:theme"

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

在app底下strings.xml文件中添加 解决打开unity界面找不到资源文件的问题

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

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

       ndk {
         abiFilters 'armeabi-v7a'
        }

Android端集成unityLibrary

本文地址:https://blog.csdn.net/weixin_43191402/article/details/110663676