我有一个仅针对 Android 的 Xamarin Forms 项目。
对于不同的 RFID 手持设备制造商,我有两个以 JAR 形式存在的独立 API。
我正在尝试将这两个 API 包含在同一个 Android 项目中,我可以在其中使用 API 选择器。
我在一个单独的 Java Bindings 项目中都有每个。
这两个 API 都包含霍尼韦尔条形码库,它们共享一个共同的 jni 签名。
我无法在添加了两个库的情况下构建 Android 项目,因为出现错误:java.lang.IllegalArgumentException:已添加:Lcom/hsm/barcode/DecodeOptions
我尝试在其中一个库的 Metadata.xml 中添加“remove-node”。
<remove-node path="/api/package[@name='com.hsm.barcode']/class[@name='DecodeOptions']"/>
当我重建时,我可以看到类文件省略了 obj/debug/generated 目录。
jni 引用仍然出现在 api.xml 文件中,这反过来仍然会导致 Android 构建错误。
<class abstract="false" deprecated="not deprecated" extends="java.lang.Object" extends-generic-aware="java.lang.Object" jni-extends="Ljava/lang/Object;" final="false" name="DecodeOptions" static="false" visibility="public" jni-signature="Lcom/hsm/barcode/DecodeOptions;">
在我承认我不能将这两个库包含在同一个项目中之前,我想我会看看是否有人有建议。
TIA