Unity安卓出的包报错ClassNotFoundException

在unity出来的安卓app程序进入到某个地方的时候,点击某个按钮报了下面这个错,表示找不到NativeGalleryPermissionReceiver这个安卓的java类,在点击按钮的时候,实例化某个继承了AndroidJavaProxy的类,在这个类的构造函数中就指明了安卓外部类com.yasirkula.unity.NativeGalleryPermissionReceiver
类的部分代码如图所示:

public class NGPermissionCallbackAndroid : AndroidJavaProxy
	{
     
		...
		
		public NGPermissionCallbackAndroid( object threadLock ) : base( "com.yasirkula.unity.NativeGalleryPermissionReceiver" )
		{
     
			...
		}
		...

双引号里面指明的外部类是在一个叫做NativeGallery的jar包里面声明的
Unity安卓出的包报错ClassNotFoundException_第1张图片
这个包里面对于自身的加载路径是Assets/Android/Plugin/libs/ 。但是其他开发人员将这个包移动到别的工程目录下了

导致这个包自身写的加载路径下找不到这个包,就初始化失败,然后其他方法里面对这个安卓类进行实例化的时候就会报错找不到
另外还要注意的是link.xml里面对NGPermissionCallbackAndroid所在的命名空间要进行添加保存,防止unity在代码剔除的时候将其剔除掉。

<assembly fullname="NativeGalleryNamespace" preserve="all"/> 

你可能感兴趣的:(安卓,错误集合)