微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何消除 Xamarin Android 项目中重复的 jni 签名?

如何解决如何消除 Xamarin Android 项目中重复的 jni 签名?

我有一个仅面向 Android 的 Xamarin Forms 项目。

对于不同的 RFID 手持设备制造商,我有两个独立的 API,采用 JAR 的形式。

我正在尝试将这两个 API 包含在我可以使用 API 选择器的同一个 Android 项目中。

我在一个单独的 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 目录的类文件

enter image description here

enter image description here

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;">

在我承认我不能将这两个库包含在同一个项目中之前,我想我会看看是否有人有建议。

T.I.A.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。