警告 BG8102:具有未知的基类型 android.app.IntentService。 (BG8102)。将 Java android 库绑定到 Xamarin 时
Warning BG8102: has unknown base type android.app.IntentService. (BG8102). When Binding a Java android Library to Xamarin
我正在 Xamarin 上从事 BLE 项目。目前我正在研究无线设备固件升级 (OTA-DFU) 部分。我打算在 Xamarin 上使用 native java Android DFU Library。
我正在关注documentation on binding Java library to Xamarin。
最后编译器显示Warning BG8102: Class NO.Nordicsemi.Android.Dfu.DfuBaseService has unknown base type android.app.IntentService. (BG8102) (AndroidDUFLibrary)
。我能够在 Xamarin 中引用转换后的 java 库。但是有些 class 丢失了,我无法引用它。
能否告诉我如何解决缺失的 class 问题?
我找到了这个 。当我手动将 IntentService
源代码添加到我的项目(创建新的 IntentService
文件并粘贴 IntentService
源代码)并制作自定义包名称时,丢失的 class 问题已得到修复在 IntentService
源代码中(例如 com.mynewpackage)。然后我将项目中的 IntentService
替换为 com.mynewpackage.IntentService
。
这是一种丑陋的解决方案。工程中缺少的classes,我们得一个一个手动添加源码文件。最好更改编译器中的一些配置以自动修复丢失的 class 问题。
我知道这有点旧,但如果其他人正在搜索这个,我找到的另一个解决方案是通过修改 Metadata.xml 文件来简单地引用 IntentService 的 Xamarin 组件。
<attr path="api/package[@name='The.Package.Here']/class[@name='TheClassHere']" name="extends">mono.android.app.Intentservice</attr>
这样就不需要像之前发布的解决方案那样手动添加源代码了。
我正在 Xamarin 上从事 BLE 项目。目前我正在研究无线设备固件升级 (OTA-DFU) 部分。我打算在 Xamarin 上使用 native java Android DFU Library。
我正在关注documentation on binding Java library to Xamarin。
最后编译器显示Warning BG8102: Class NO.Nordicsemi.Android.Dfu.DfuBaseService has unknown base type android.app.IntentService. (BG8102) (AndroidDUFLibrary)
。我能够在 Xamarin 中引用转换后的 java 库。但是有些 class 丢失了,我无法引用它。
能否告诉我如何解决缺失的 class 问题?
我找到了这个 IntentService
源代码添加到我的项目(创建新的 IntentService
文件并粘贴 IntentService
源代码)并制作自定义包名称时,丢失的 class 问题已得到修复在 IntentService
源代码中(例如 com.mynewpackage)。然后我将项目中的 IntentService
替换为 com.mynewpackage.IntentService
。
这是一种丑陋的解决方案。工程中缺少的classes,我们得一个一个手动添加源码文件。最好更改编译器中的一些配置以自动修复丢失的 class 问题。
我知道这有点旧,但如果其他人正在搜索这个,我找到的另一个解决方案是通过修改 Metadata.xml 文件来简单地引用 IntentService 的 Xamarin 组件。
<attr path="api/package[@name='The.Package.Here']/class[@name='TheClassHere']" name="extends">mono.android.app.Intentservice</attr>
这样就不需要像之前发布的解决方案那样手动添加源代码了。