2016-09-28 41 views
0

我想创建一个引用org.apache.xml.security.transforms的Xamarin Android绑定库,Org.Apache.Xml.Security.AlgorithmsXamarin Android绑定引用Org.Apache.Xml.Security.Algorithms

我必须添加哪个引用来确保它正常工作?

样本错误

1> BINDINGSGENERATOR:警告BG8900:类型org.apache.xml.security.transforms.Transforms:FxDG命名冲突:类型名称 '变换' 匹配命名空间的一部分 '变换'。

\ OBJ \调试\产生\ SRC \ Org.Apache.Xml.Security.Algorithms.Implementations.IntegrityHmac.cs(150,20,150,31):警告CS0108: 'IntegrityHmac.IntegrityHmacRIPEMD160.GetDHandler()' 隐藏继承成员'IntegrityHmac.GetDHandler()'。如果需要隐藏,请使用新关键字。

+1

请附上MVCE(HTTP://计算器。 com/help/mcve)以及关于该帖子绑定的更多信息,例如库的位置,需求页面以及任何其他与该问题相关的信息。 –

+0

已上传它..多谢指出 – Pooran

+1

这些只是警告似乎。绑定编译得很好。有没有你注意到的课程?如果您愿意,可以通过'Metadata.xml'修改此类型的名称:https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb –

回答

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()实施IntegrityHmac.IntegrityHmacRIPEMD160被隐藏。通常这是混淆的问题。

我有有大部分的这些方面涵盖了普遍约束力指导,一旦你知道你在找什么:

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

不过看在你的源之后,似乎一切都只是编译精细。这里有一些注意事项:

  1. 确保您使用正确的JDK进行编译。我在测试你的SDK时使用了JDK 1.8,但是你绑定的SDK的文档可能会使用不同的版本。
  2. 确保您的JAR使用的是正确的Build Action。你可以找到我们的文档中建议使用案例:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/#Build_ActionsInputJar没有嵌入到.dll和必须在运行时发现,因此,你应该使用EmbeddedJar。)
+0

感谢您的帮助:)它得到了解决 – Pooran