Unity与Android交互 以及接入SDK时所遇到的各种问题

1、Direct local .aar file dependencies are not supported when building an AAR.
参考https://www.cnblogs.com/baiyuas/p/14383723.html

2、Unity打包报错Program type already present: com.xxx.xxx.BuildConfig
参考https://blog.csdn.net/xmx5166/article/details/105797635

3、Unity打包出错:UnityPlayerActivity.java使用或覆盖了已过时的 API。
Root\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java使用或覆盖了已过时的 API。
参考https://www.cnblogs.com/godshadow/p/14890050.html
注:
参考链接里说要删除
unity文件目录D:\WorkTools\Unity\2019.4.16f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Source下的文件夹删掉即可
如果这个方法解决了你的问题,一定要把这个文件备份一下,因为你再创建新的工程导入其它新的aar文件是,发布的时候会报错,因为这个文件丢失了,

4、如果导入unity的是jar包,需要先把jar包里的libs/classes.jar删除掉,然后再改会jar格式, 如果你电脑是苹果,选中jar包里面所有文件 右键压缩, 因为使用unity打包时,classes.jar包会自动打包到libs里面,

5、在安卓导入 classes.jar文件 ,却没法继承UnityPlayerActivity,因为 unity 2019版本之后UnityPlayerActivity就剥离了classes.jar,
UnityPlayerActivity在:Unity\2019.4.16f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player

6、找不到方法,具体的报错信息我忘记啥了,翻译成中文就是 找不到非静态方法/找不到静态方法,
能获取到Java类的前提下
解决方法:1、检查Java类中是否有这个方法
2、检查时候unity脚本里写的方法和Java里的方法大小写不一致(Java区分大小写)
3、是否传参错误/传参类型错误

7、找不到安卓里面的Java类
检查包名和类名是否和Java里面的包名类名一样

8、调用到了安卓的方法,但是却没有执行,也没有报错
尝试C#脚本里的AndroidJavaClass改成AndroidJavaObject试试(因为我对这两个类不熟悉,才会 犯这个错误)

目前就这几个,其它的有的忘记了。后续再遇到unity与安卓交互的问题,会接着更新,

点进来的有缘者,如果你有更好的解决方法,或者其它问题并有解决方法,正好你这会不是很忙, 可以占用你几分钟的时间吗?
可以把你遇到的问题和解决方法,或者不知道怎么解决的问题,放到语雀的共享文档内,以便让更多的被困难所困扰的朋友可以解决所遇到的困难
链接为:安卓与Unity交互 遇到的问题与解决方法
安卓与Unity交互 未解决问题

猜你喜欢

转载自blog.csdn.net/o_ojjj/article/details/119892213