赞
踩
先反思一下你们为什么要用flutter去集成unity?可不可以不用fluter去集成?如果可以的话,先放弃,用原生去集成吧,本文也不用看了,因为fluter集成实在太坑了,太降低效率了!步步坑机!如果非要用flutter去集成,或者想挑战下自己的忍耐力,那么请看下文。
首先我们打开flutter项目,添加flutter-unity-view-weight依赖,我们直接在pubspec.yml
中添加依赖:
dependencies: flutter_unity_widget: ^2022.1.1+4
如果你是flutter3.0以下,那么就添加:
dependencies: flutter_unity_widget: ^2022.1.0+7
然后我们打开Unity,点击Assets -> Import custom package
,然后选择上面链接中的
Unity packages
-> fuw-2022.1.1-v2.unitypackage,我们只勾选插件部分,不需要导入demo,如果有报错,请把unity升级2022.1.1版本。 然后我们的菜单栏就会多出一个flutter选项,我们可以直接选择flutter -> export Android 来导出unityLibrary,这个包默认是在Assets同级目录的,此时有可能报错,提示build.gradle路径不对,有两种解决方案。
然后我们用AndroidStudio打开我们的flutter项目,将导出的unityLibrary作为一个module添加到项目中,此时会报错,提示有两个unity.classes
的jar包,我们将flutter-untiy-view-weight
中的unity-classes
删掉,同时将该module对应的build.gradle
文件中implementation(name: 'unity-classes', ext:'jar')
删除,让它只依赖我们的unityLibrary。修改后的build.gradle
文件如下:
implementation project(':unityLibrary')
然后将unityLibrary中的implementation(name: 'unity-classes', ext:'jar')
改为: api fileTree(include: ['*.jar'], dir: 'libs')
,同时在我们的根目录的build.gradle文件中添加:
flatDir { dirs "${project(':unityLibrary').projectDir}/libs" }
然后运行代码即可。
此时我们只需要把flutter-unity-view-weight
中的那个删除,只保留我们自己导出的unityLibrary
中的unity-classes
即可。
我们需要在项目根目录的build.gradle
中添加:
flatDir { dirs "${project(':unityLibrary').projectDir}/libs" }
然后将unityLibrary
中的build.gradle
中的
`implementation(name: 'unity-classes', ext:'jar')
改为:
api fileTree(include: ['*.jar'], dir: 'libs')
1 将android项目和unity项目放在同一个目录下,比如:
package/android // android项目 package/unity // unity项目
2 双击错误,打开报错脚本,修改里面的androidProjectPath
路径为自己android项目的路径,默认是../../android
。
在local.properties文件中,配置ndk路径即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。