Xamarin Android Binding引用Org.Apache.Xml.Security.Algorithms

时间:2016-09-28 10:53:11

标签: xamarin xamarin.android xamarin-binding

我正在尝试创建一个Xamarin Android绑定库,该库引用org.apache.xml.security.transforms,Org.Apache.Xml.Security.Algorithms

我必须添加哪些参考以确保它正常工作?

示例错误

1> BINDINGSGENERATOR:警告BG8900:输入org.apache.xml.security.transforms.Transforms:FxDG命名违规:输入名称' Transforms'匹配命名空间部分'转换'。

\ _ obj \ Debug \ generated \ src \ Org.Apache.Xml.Security.Algorithms.Implementations.IntegrityHmac.cs(150,20,150,31):警告CS0108:' IntegrityHmac.IntegrityHmacRIPEMD160.GetDHandler()& #39;隐藏继承成员' IntegrityHmac.GetDHandler()'。如果想要隐藏,请使用new关键字。

1 个答案:

答案 0 :(得分:1)

这些不是错误,而是绑定生成器会给你一些公平的警告。

1>BINDINGSGENERATOR : warning BG8900: Type org.apache.xml.security.transforms.Transforms: FxDG naming violation: Type name 'Transforms' matches namespace part 'Transforms'.

这只是一个警告,告诉您名称Transforms与先前命名空间org.apache.xml.security.transforms的一部分匹配。除非这些类没有生成,否则这不是一个大问题。

\obj\Debug\generated\src\Org.Apache.Xml.Security.Algorithms.Implementations.IntegrityHmac.cs(150,20,150,31): warning CS0108: 'IntegrityHmac.IntegrityHmacRIPEMD160.GetDHandler()' hides inherited member 'IntegrityHmac.GetDHandler()'. Use the new keyword if hiding was intended.

此警告表示正在隐藏GetDHandler()的{​​{1}}实施。通常这是混淆问题。

我确实有一个通用的绑定指南,一旦你知道你在寻找什么,就会涵盖大部分这些方面:

https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb

然而,在查看了您的来源之后,似乎所有内容都编译得很好。这里有几点说明:

  1. 确保使用正确的JDK进行编译。我使用JDK 1.8来测试你的,但你绑定的SDK的文档可能会使用不同的文档。
  2. 确保为JAR使用正确的IntegrityHmac.IntegrityHmacRIPEMD160。您可以在我们的文档中找到推荐的用例:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/#Build_ActionsBuild Action未嵌入到.dll中,必须在运行时找到。因此您应该使用InputJar