【问题标题】:java.lang.NoClassDefFoundError on Mixpanel bindingsMixpanel 绑定上的 java.lang.NoClassDefFoundError
【发布时间】:2013-10-03 21:56:38
【问题描述】:

我正在尝试将 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 显示有效的类接口。 装配浏览器还显示所有类。但是当涉及到class_refget 时,就会抛出异常。

我不明白我做错了什么。

堆栈跟踪:

[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)

【问题讨论】:

    标签: c# android xamarin.android xamarin mixpanel


    【解决方案1】:

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

    【讨论】:

    • 你在说什么 IDE?
    • 日食。你用的是哪一个?
    • Xamarin 工作室。它是 C#。不是java。
    【解决方案2】:

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

    【讨论】:

    • 根据异常信息,找不到MixpanelAPI,但$ javap -classpath MixpanelAPI.jar com.mixpanel.android.mpmetrics.MixpanelAPI显示类接口。程序集浏览器也显示 C# 界面。
    猜你喜欢
    • 2018-07-10
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多