【发布时间】:2018-10-01 07:44:59
【问题描述】:
我们正在制作一个需要使用 Android 的 WorkManager 库的应用。依赖 .AAR 文件经过编译和测试工作。我能够通过使用 Visual Studio 的 Java 绑定项目绑定依赖 AAR 文件来构建 DLL。
但是,当 Xamarin Android 项目使用使用 Android WorkManager 的依赖库时,它会抛出异常:
Java.Lang.NoClassDefFoundError: Failed resolution of: Landroidx/work/WorkManager; --->
Java.Lang.ClassNotFoundException: Didn't find class "androidx.work.WorkManager" on path:
DexPathList[[zip file "/data/app/com.appname.app-vXQN7f21kz_QrhvSakWVRA==/base.apk"],nativeLibraryDirectories=[/data/app/com.appname.app-vXQN7f21kz_QrhvSakWVRA==/lib/arm64, /data/app/com.appname.app-vXQN7f21kz_QrhvSakWVRA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
我还尝试下载 Android WorkManager AAR 文件,创建自己的 Bindings Library 项目,对其进行编译,并将其与依赖项 AAR 一起添加到主 Xamarin Forms 项目中。但我得到这个错误:
error: CommandsCompletedListener is not public in SystemAlarmDispatcher; cannot be accessed from outside package
androidx.work.impl.background.systemalarm.SystemAlarmDispatcher.CommandsCompletedListener
我应该在依赖项绑定项目中包含或修改一些内容吗?
我已经尝试将 WorkManager AAR 添加到依赖项绑定项目并使用它,但我仍然得到ClassNotFoundException。有没有人尝试使用使用 WorkManager for Xamarin Android 的 Java 依赖项?
【问题讨论】:
-
您好,您是否尝试在包含 androidx.work.WorkManager 类定义的 android 项目中添加 .jar 文件?
-
xamarin 团队正在研究 androidx 绑定。在正式发布之前,您可能会发现这很有用 github.com/xamarin/AndroidSupportComponents/tree/AndroidX
标签: c# xamarin xamarin.android