Xamarin Android 绑定引用 Org.Apache.Xml.Security.Algorithms
Xamarin Android Binding referencing Org.Apache.Xml.Security.Algorithms
我正在尝试创建一个引用 org.apache.xml.security.transforms 、Org.Apache.Xml.Security.Algorithms
的 Xamarin Android 绑定库
我必须添加哪个参考以确保它工作正常?
错误示例
1>BINDINGSGENERATOR:警告 BG8900:类型 org.apache.xml.security.transforms。转换:FxDG 命名冲突:类型名称 'Transforms' 匹配命名空间部分 'Transforms'。
\obj\Debug\generated\src\Org.Apache.Xml.Security.Algorithms.Implementations.IntegrityHmac.cs(150,20,150,31):警告 CS0108:'IntegrityHmac.IntegrityHmacRIPEMD160.GetDHandler()' 隐藏继承成员 'IntegrityHmac.GetDHandler()'。如果要隐藏,请使用 new 关键字。
这些不是错误,而是绑定生成器给您一些合理的警告。
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.
此警告表示 IntegrityHmac.IntegrityHmacRIPEMD160
的 GetDHandler()
实现被隐藏。通常这是混淆问题。
我确实有一份通用的装订指南,一旦您知道自己在寻找什么,它就涵盖了其中的大部分内容:
https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb
但是在查看了您的源代码之后,似乎一切都编译得很好。这里有几点说明:
- 确保您使用正确的 JDK 进行编译。我使用 JDK 1.8 来测试你的,但你绑定的 SDK 文档可能使用不同的版本。
- 确保您为 JAR 使用正确的
Build Action
。您可以在我们的文档中找到一个推荐的用例:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/#Build_Actions(InputJar
没有嵌入到 .dll 中,必须在运行时找到。因此您应该使用 EmbeddedJar
)
我正在尝试创建一个引用 org.apache.xml.security.transforms 、Org.Apache.Xml.Security.Algorithms
的 Xamarin Android 绑定库我必须添加哪个参考以确保它工作正常?
错误示例
1>BINDINGSGENERATOR:警告 BG8900:类型 org.apache.xml.security.transforms。转换:FxDG 命名冲突:类型名称 'Transforms' 匹配命名空间部分 'Transforms'。
\obj\Debug\generated\src\Org.Apache.Xml.Security.Algorithms.Implementations.IntegrityHmac.cs(150,20,150,31):警告 CS0108:'IntegrityHmac.IntegrityHmacRIPEMD160.GetDHandler()' 隐藏继承成员 'IntegrityHmac.GetDHandler()'。如果要隐藏,请使用 new 关键字。
这些不是错误,而是绑定生成器给您一些合理的警告。
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.
此警告表示 IntegrityHmac.IntegrityHmacRIPEMD160
的 GetDHandler()
实现被隐藏。通常这是混淆问题。
我确实有一份通用的装订指南,一旦您知道自己在寻找什么,它就涵盖了其中的大部分内容:
https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb
但是在查看了您的源代码之后,似乎一切都编译得很好。这里有几点说明:
- 确保您使用正确的 JDK 进行编译。我使用 JDK 1.8 来测试你的,但你绑定的 SDK 文档可能使用不同的版本。
- 确保您为 JAR 使用正确的
Build Action
。您可以在我们的文档中找到一个推荐的用例:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/#Build_Actions(InputJar
没有嵌入到 .dll 中,必须在运行时找到。因此您应该使用EmbeddedJar
)