Unity安卓出的包报错ClassNotFoundException
在程序进入到某个地方的时候,点击某个按钮报了下面这个错,表示找不到NativeGalleryPermissionReceiver这个安卓的java类,在点击按钮的时候,实例化某个继承了AndroidJavaProxy的类,在这个类的构造函数中就指明了安卓外部类com.yasirkula.unity.NativeGalleryPermissionReceiver类的部分代码如图所示:public c
·
在unity出来的安卓app程序进入到某个地方的时候,点击某个按钮报了下面这个错,表示找不到NativeGalleryPermissionReceiver这个安卓的java类,在点击按钮的时候,实例化某个继承了AndroidJavaProxy的类,在这个类的构造函数中就指明了安卓外部类com.yasirkula.unity.NativeGalleryPermissionReceiver
类的部分代码如图所示:
public class NGPermissionCallbackAndroid : AndroidJavaProxy
{
...
public NGPermissionCallbackAndroid( object threadLock ) : base( "com.yasirkula.unity.NativeGalleryPermissionReceiver" )
{
...
}
...
双引号里面指明的外部类是在一个叫做NativeGallery的jar包里面声明的
这个包里面对于自身的加载路径是Assets/Android/Plugin/libs/ 。但是其他开发人员将这个包移动到别的工程目录下了
导致这个包自身写的加载路径下找不到这个包,就初始化失败,然后其他方法里面对这个安卓类进行实例化的时候就会报错找不到
另外还要注意的是link.xml里面对NGPermissionCallbackAndroid所在的命名空间要进行添加保存,防止unity在代码剔除的时候将其剔除掉。
<assembly fullname="NativeGalleryNamespace" preserve="all"/>
更多推荐
已为社区贡献12条内容
所有评论(0)