3

我正在研究 Xamarin 上的 BLE 项目。目前我正在研究无线设备固件升级(OTA-DFU)部分。我打算在 Xamarin 上使用本机 java Android DFU 库。

我正在关注将Java 库绑定到 Xamarin 的文档

最后编译器显示Warning BG8102: Class NO.Nordicsemi.Android.Dfu.DfuBaseService has unknown base type android.app.IntentService. (BG8102) (AndroidDUFLibrary). 我可以在 Xamarin 中引用转换后的 java 库。但是缺少某些类,我无法引用它。

你能告诉我如何解决缺失的课程问题吗?

4

2 回答 2

2

我知道这有点旧,但如果其他人正在搜索它,我发现的另一个解决方案是通过修改 Metadata.xml 文件来简单地引用 IntentService 的 Xamarin 组件。

<attr path="api/package[@name='The.Package.Here']/class[@name='TheClassHere']" name="extends">mono.android.app.Intentservice</attr>

这样就不需要像之前发布的解决方案那样手动添加源代码。

于 2015-12-07T18:58:25.090 回答
2

我找到了这篇文章。当我手动将IntentService源代码添加到我的项目(创建新IntentService文件并粘贴IntentService源代码)并在源代码中创建自定义包名称IntentService(例如 com.mynewpackage)时,丢失的类问题已得到修复。然后我在我的项目中到处替换IntentServiceas 。com.mynewpackage.IntentService

这是一种丑陋的解决方案。我们必须在项目中一一手动添加缺少的类的源代码文件。最好在编译器中更改一些配置以自动修复丢失的类问题。

于 2015-09-01T12:24:16.673 回答