Mixpanel绑定上的java.lang.NoClassDefFoundError

时间:2013-10-03 12:22:54

标签: c# android xamarin.android xamarin mixpanel

我正在尝试将Mixpanel集成到我的Xamarin.Android项目中。 但是当我调用Com.Mixpanel.Android.Mpmetrics.MixpanelAPI.GetInstance()时,会发出java.lang.NoClassDefFoundError异常消息 com / mixpanel / android / mpmetrics / MixpanelAPI

我刚刚构建了MixpanelAPI.jar,然后创建了“Android Java Bindings Library”项目,将jar添加为InputJar(也尝试了EmbeddedJar),然后构建了dll并将其导入到我的项目中。

jar tf MixpanelAPI.jar显示所有类,javap显示有效的类接口。 Assembly Browser还显示所有类。但是当谈到class_ref get时,会抛出异常。

我无法理解我做错了什么。

堆栈跟踪:

[MonoDroid] UNHANDLED EXCEPTION: Java.Lang.NoClassDefFoundError: Exception of type 'Java.Lang.NoClassDefFoundError' was thrown.
 [MonoDroid] at Android.Runtime.JNIEnv.FindClass (string) [0x00087] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.8.0-branch/b76e8ec4/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.cs:287
 [MonoDroid] at Android.Runtime.JNIEnv.FindClass (string,intptr&) [0x00014] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.8.0-branch/b76e8ec4/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.cs:300
 [MonoDroid] at Com.Mixpanel.Android.Mpmetrics.MixpanelAPI.get_class_ref () [0x00000] in /path/to/mixpanel/bindings/project/Mixpanel/Mixpanel/obj/Release/generated/src/Com.Mixpanel.Android.Mpmetrics.MixpanelAPI.cs:1047
 [MonoDroid] at Com.Mixpanel.Android.Mpmetrics.MixpanelAPI.GetInstance (Android.Content.Context,string) [0x00014] in /path/to/mixpanel/bindings/project/Mixpanel/Mixpanel/obj/Release/generated/src/Com.Mixpanel.Android.Mpmetrics.MixpanelAPI.cs:1199

Mixpanel bindings (65 KB)Test project for bindings (7 KB)

2 个答案:

答案 0 :(得分:0)

右键单击项目及其中间项目(如果有)。转到属性 - > Java构建路径 - >库 - >删除的deroied dependecies和android私有库。清洁项目。它应该删除classDefNotFound异常。

答案 1 :(得分:0)

听起来你生成的lib / jar可能引用了一个现在不在范围内的类。 我建议重新访问绑定项目,以确保正确引用所有内容。