“如何修复”;Java.Lang.NoClassDefFoundError“;在Xamarin.Android绑定项目(.aar)中

“如何修复”;Java.Lang.NoClassDefFoundError“;在Xamarin.Android绑定项目(.aar)中,java,c#,android,xamarin.forms,zendesk,Java,C#,Android,Xamarin.forms,Zendesk,我目前正在编写一个插件,在我的Xamarin.Forms项目中使用Zendesk SupportSDK()。我在Android Studio中用一个小的Activity/UI编写并测试了这个插件。现在我创建了一个绑定项目来使用Xamarin内部的.aar文件。如果我启动应用程序并访问第一个函数,我会得到一个错误代码 我已经尝试将gradle下载到~/.gradle/caches/modules-2/files-2.1的.jar文件添加到绑定项目中,并删除传递给插件的所有参数。我做的最后一个测试是

我目前正在编写一个插件,在我的Xamarin.Forms项目中使用Zendesk SupportSDK()。我在Android Studio中用一个小的Activity/UI编写并测试了这个插件。现在我创建了一个绑定项目来使用Xamarin内部的.aar文件。如果我启动应用程序并访问第一个函数,我会得到一个错误代码

我已经尝试将gradle下载到~/.gradle/caches/modules-2/files-2.1的.jar文件添加到绑定项目中,并删除传递给插件的所有参数。我做的最后一个测试是更改绑定项目的构建操作,目前my.aar的构建操作按照Xamarin文档的建议设置为“LibraryProjectZip”

Java
导入android.app.Activity;
导入android.util.Log;
导入java.util.List;
导入java.util.Locale;
导入zendesk.commonui.UiConfig;
导入zendesk.core.AnonymousIdentity;
导入zendesk.core.Identity;
导入zendesk.core.zendesk;
导入zendesk.support.support;
导入zendesk.support.guide.HelpCenterActivity;
导入zendesk.support.guide.ViewArticleActivity;
导入zendesk.support.request.RequestActivity;
公共void Init(){
试一试{
//如果Zendesk已初始化,则返回
如果(IsInitialized())返回;
Zendesk.INSTANCE.init(MainActivity,zendeskCredentials.zendeskUrl,zendeskCredentials.applicationId,zendeskCredentials.oauthClientId);
Support.INSTANCE.init(Zendesk.INSTANCE);
Identity Identity=new AnonymousIdentity.Builder()。withNameIdentifier(zendeskCredentials.userName)。withEmailIdentifier(zendeskCredentials.userEmail)。build();
Zendesk.INSTANCE.setIdentity(identity);
Support.INSTANCE.setHelpCenterLocaleOverride(locale);
}
捕获(例外e){
Log.d(“异常:,e.getMessage());
}
}
沙马林 公共void Init(){ ZendeskPlugin.Instance.Init(); } 这就是我得到的:

Java.Lang.NoClassDefFoundError:解析失败:Lzendesk/core/Zendesk;-->Java.Lang.ClassNotFoundException:在以下路径中未找到类“zendesk.core.zendesk”:DexPathList[[zip文件”//system/framework/org.apache.http.legacy.boot.jar”,zip文件“/data/app/de.foo.foo-25GgMgJo-hI1Hnw8TCqT-A=/base.apk”],NativeLibrary目录=[/data/app/de.foo.foo-25GgMgJo-hI1Hnw8TCqT-A==/lib/arm64,/data/app/de.foo.foo-25GgMgJo-hI1Hnw8TCqT-A==/base.apk!/lib/arm64-v8a,/system/lib64,/system/vendor/lib64]] ---内部异常堆栈跟踪的结束--- 在Java.Interop.JniEnvironment+InstanceMethods.CallVoidMethod(Java.Interop.JniObjectReference实例,Java.Interop.JniMethodInfo方法,Java.Interop.JniArgumentValue*args)[0x00069]中:0 在Java.Interop.jnipermembers+JniInstanceMethods.InvokeVirtualVoidMethod(System.String encodedMember,Java.Interop.IJavaPeerable self,Java.Interop.JniArgumentValue*参数)[0x0002a]中:0


我知道现在回答这个问题已经太迟了,但我希望这能帮助其他人解决他们的问题。 请尝试在您的Xamarin Android项目中安装
Xamarin.Kotlin.StdLib
。安装Kotlin包对我有效,因为我使用的是包含Kotlin代码的
.aar
文件

Install-Package Xamarin.Kotlin.StdLib -Version 1.3.50.1
Install-Package Xamarin.Kotlin.StdLib -Version 1.3.50.1