C# Android绑定Java.Lang.NoClassDefFoundError:';未能解决以下问题:Landroidx/viewbinding/viewbinding';

C# Android绑定Java.Lang.NoClassDefFoundError:';未能解决以下问题:Landroidx/viewbinding/viewbinding';,c#,android,kotlin,xamarin.android,C#,Android,Kotlin,Xamarin.android,我正在将kotlin库绑定到xamarin android,在绑定并解决所有错误后,我得到了一个意外错误,没有任何解释或异常原因 Java.Lang.NoClassDefFoundError:“未能解析:Landroidx/viewbinding/viewbinding;” 这是我得到的stacktrace: 主要活动。政务司司长:40 在Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv,Syste

我正在将kotlin库绑定到xamarin android,在绑定并解决所有错误后,我得到了一个意外错误,没有任何解释或异常原因

Java.Lang.NoClassDefFoundError:“未能解析:Landroidx/viewbinding/viewbinding;”

这是我得到的stacktrace:

主要活动。政务司司长:40 在Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv,System.IntPtr native_u_uthis,System.IntPtr 本机_savedInstanceState)[0x00011]位于 :0 at(包装器动态方法) Android.Runtime.DynamicMethodNameCounter.8(intptr、intptr、intptr)--- 托管Java.Lang.NoClassDefFoundError堆栈跟踪结束--- java.lang.NoClassDefFoundError:解析失败: Landroidx/viewbinding/viewbinding;在 crc6473617f77d52b50b9.MainActivity.n_onCreate(本机方法)位于 crc6473617f77d52b50b9.MainActivity.onCreate(MainActivity.java:39)位于 android.app.Activity.performCreate(Activity.java:7136)位于 android.app.Activity.performCreate(Activity.java:7127)位于 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) 位于android.os.Handler.dispatchMessage(Handler.java:106) Looper.loop(Looper.java:193)位于 android.app.ActivityThread.main(ActivityThread.java:6669)位于 java.lang.reflect.Method.invoke(本机方法)位于 RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 原因:java.lang.ClassNotFoundException:未找到类 路径:DexPathList[[zip文件]上的“androidx.viewbinding.viewbinding” “/data/app/com.companyname.stripepaymentdemo-oGbK81Ux2TUQ5Jelqfi7GQ===/base.apk”],NativeLibraryDirectory=[/data/app/com.companyname.stripepaymentdemo-oGbK81Ux2TUQ5Jelqfi7GQ==/lib/x86, /data/app/com.companyname.stripepaymentdemo-oGbK81Ux2TUQ5Jelqfi7GQ==/base.apk!/lib/x86, /系统/库]]at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:379) loadClass(ClassLoader.java:312)

我在网上寻找过类似的xamarin android问题,但还没有找到 有人能帮忙吗?

根据找到的答案,(归功于)我们遵循了这些步骤,并能够获得以Xamarin形式工作的Stripe Android SDK(取决于AndroidX):

  • 从下载AndroidX.Core库及其依赖项
  • 创建一个新目录,并将所有下载的JAR文件解压缩到该目录中
  • 使用archiver工具打开AAR文件,提取它们的class.jar-files,并将后者的内容也放在上面的目录中
  • 在上述目录中运行“jar cvf androidx.jar”,将所有androidx文件打包到一个新的jar中
  • 将此JAR作为嵌入式引用JAR添加到Android绑定项目中
  • 将绑定添加到Android应用程序项目,并尝试构建它。您可能会遇到一些与重复类包含相关的生成错误。从2中创建的目录中删除这些文件,并重复步骤4和5,直到没有此类错误
  • 创建/构建你的NuGet。您现在应该能够成功运行PartnerSDK中包含的代码
  • 根据找到的答案,(归功于)我们遵循了这些步骤,并能够获得以Xamarin形式工作的Stripe Android SDK(取决于AndroidX):

  • 从下载AndroidX.Core库及其依赖项
  • 创建一个新目录,并将所有下载的JAR文件解压缩到该目录中
  • 使用archiver工具打开AAR文件,提取它们的class.jar-files,并将后者的内容也放在上面的目录中
  • 在上述目录中运行“jar cvf androidx.jar”,将所有androidx文件打包到一个新的jar中
  • 将此JAR作为嵌入式引用JAR添加到Android绑定项目中
  • 将绑定添加到Android应用程序项目,并尝试构建它。您可能会遇到一些与重复类包含相关的生成错误。从2中创建的目录中删除这些文件,并重复步骤4和5,直到没有此类错误
  • 创建/构建你的NuGet。您现在应该能够成功运行PartnerSDK中包含的代码

  • 此错误最可能的原因是需要将强制Java库添加到应用程序项目(.csproj),请检查。谢谢,您是否知道如何检测到底缺少哪个类?错误显示它似乎与
    AndroidX
    库有关。此错误最可能的原因是需要向应用程序项目(.csproj)中添加一个必需的Java库,请检查。谢谢,请问您是否知道如何检测到底缺少哪个类?错误显示它似乎与
    AndroidX
    库有关。