Android
0.flutter_unity_widget的Demo说明
Demo 通过 flutter_unity_widget库,达到 Flutter 内嵌 Unity 目的
主要功能:
1.flutter-unity-view-widget 为 Unity 提供依赖库导出插件,将 Unity 项目构建成 Android、IOS 依赖库.
2. flutter-unity-view-widget 为 Flutter 提供组件库,将 Unity 视图以组件的形式渲染,并提供 Flutter、Unity 双向通信接口
1.新建一个flutter项目
(1)在桌面新建一个flutter项目,项目名:unity_demo
(2)在flutter项目里新建一个文件夹,文件名:unity,路径:unity_demo/unity

2.新建一个unity项目
(1)在刚才创建的unity文件夹里创建一个新的unity项目,项目名:UnityDemo

3. NDK
如果您的项目需要 Android NDK,则必须进行以下设置:
您的 android 项目需要知道 NDK Unity 使用的路径。您可以在以下位置找到 NDK 的路径Preferences -> External Tools
:
通过右键单击复制路径并将路径粘贴到您的android/local.properties
:
就是这样!您无需app/build.gradle
在 NDK 版本或其他 NDK 设置中告诉您的 Android 应用程序。现在一切都连接到了 Unity。
ndk.dir=/Applications/Unity/Hub/Editor/2020.3.21f1c1/PlaybackEngines/AndroidPlayer/NDK



4.下载插件
(1)下载插件
https://github.com/juicycleff/flutter-unity-view-widget/tree/master/scripts
(2)将插件放到UnityDemo里面

5.配置UnityDemo项目(配置Android的)
(1)进入 File > Build Settings > Player Settings 中
(2)更改Configuration部分下的以下内容:
(3)在Scripting Backend 中,更改为 IL2CPP
(4)在Target Architectures 中,选择 ARMv7 和 ARM64
(5)其他默认



6.引入刚才下的插件
(1)打开UnityDemo项目,右键选择Assets > Import Package > Custom Package并选择 FlutterUnityPackage.unitypackage文件。单击“导入”。(如果报错,删除Standalone文件和AOT和Windows下边的Newtonsoft.Json.dll)



7.修改构建时用的源码
// DoBuildAndroid()
// var options = BuildOptions.AcceptExternalModificationsToPlayer;
var options = BuildOptions.AllowDebugging;
EditorUserBuildSettings.exportAsGoogleAndroidProject = true;

// BuildIOS()
// var options = BuildOptions.AcceptExternalModificationsToPlayer;
var options = BuildOptions.AllowDebugging;

8.构建flutter对应得Android项目

成功以后会生成unityLibrary文件夹(别人用得话,直接整个文件夹放在android中)

9.配置Android
(1)将android/app/build.gradle中的minSdkVersion 跟 unityLibrary/build.gradle中的minSdkVersion 调到一至


(2)配置gradle.properties,不然会报错
unityStreamingAssets=.unity3d, google-services-desktop.json, google-services.json, GoogleService-Info.plist


运行flutter
flutter run
参考:
https://www.jianshu.com/p/80d204950b51
https://pub.dev/packages/flutter_unity_widget
http://liweijia.site/archives/1405
https://www.youtube.com/watch?v=exNPmv_7--Q
https://ivanfan.site/2020/07/21/uiwidgets/
网友评论