警告BG8102:有未知的基本类型android.app.IntentService.(BG8102).绑定Java a
本文关键字:BG8102 IntentService app 绑定 Java android 类型 未知 警告 | 更新日期: 2023-09-27 18:10:19
我在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库。但是缺少一些类,我不能引用它。
你能让我知道我该如何修复缺失的类问题吗?
我发现了这个帖子。当我手动将IntentService
源代码添加到我的项目(创建新的IntentService
文件并粘贴IntentService
源代码)并在IntentService
源代码(例如com.mynewpackage)中制作自定义包名称时,缺失的类问题得到了修复。然后我将IntentService
替换为com.mynewpackage.IntentService
在我的项目中的任何地方。
这是一种丑陋的解决方案。我们必须在项目中逐个手动添加缺失类的源代码文件。最好更改编译器中的一些配置,以自动修复丢失的类问题。
我知道这有点老了,但是如果其他人正在搜索这个,我发现的另一个解决方案是通过修改Metadata.xml文件来简单地引用IntentService的Xamarin组件。
<attr path="api/package[@name='The.Package.Here']/class[@name='TheClassHere']" name="extends">mono.android.app.Intentservice</attr>
这样就不需要像之前发布的解决方案那样手动添加源代码。