unity接android sdk的碰到的一些问题记录

一、jar包在unity中不被识别,error表示来找不java对象
这是一种很少出现的情况,有时候通过重新导入或改个名字就能被识别了。但这种方法不一定生效。
如果不能被识别,出包的时候它们就不会被打到apk中去,这样你c#的使用的这个jar包中的类、对象、接口是永远都找不到的。
这时我尝试了另一个方式,这把这个jar中,当成一个unity需要依赖的android工程,将它放到Android/plugins的一个子目下的libs中的,并在那子目中添两个文件:AndroidManifest.xml 和 project.properties.
1、目录结构如下:
unity接android sdk的碰到的一些问题记录 - 阿里云
2、两个文件的内容也基本是空的,只是意思一下,如下图:
unity接android sdk的碰到的一些问题记录 - 阿里云
unity接android sdk的碰到的一些问题记录 - 阿里云

二、*.so 文件找不到
运行错误表现为:
*Java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader
[DexPathList[[zip file “/data/app/com.packgname.live-2/base.apk”],
nativeLibraryDirectories=[/data/app/com.packgname.live-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn’t find “libcoo.so”*

有很多的android sdk都会用到so库,有时候你接入了包含so库的android sdk后,测试时可能会报类似上面的错误。这是在unity打包改成gradle后,可能会出现的错误。

要怎样来规避这样的错误呢:
1、在unity的安装目录下找到如下的文件
libTemplate.gradle
unity接android sdk的碰到的一些问题记录 - 阿里云

2、然后,打开它,并如下图一样添加一行:
jniLibs.srcDirs = [‘libs’]
unity接android sdk的碰到的一些问题记录 - 阿里云

3、这样之后,再出包就应该没有这样的错误了