如何为许多依赖项的AAR生成Xamarin绑定?

我正在尝试为Android com.adobe.creativesdk.image库生成Xamarin Binding

问题是这个库包含像20个引用,这些引用肯定包含更多。 我将不得不探索整个树,并提取所有引用,将它们添加到绑定项目。

肯定有一个更简单的方法来做到这一点。 有人告诉我,我可以创build一个包含所有使用Android Studio的引用的包AAR,但我不确定要使其工作的步骤。 一些参考文献也是AAR。

你能把我放在正确的path来获得这个绑定工作?

Solutions Collecting From Web of "如何为许多依赖项的AAR生成Xamarin绑定?"

我有同样的问题,我终于通过简单地添加依赖来解决它。 许多可以通过NuGet包添加(右键单击绑定项目,然后单击添加nuget包…),最常见的像play服务,gson okhttp3等可以在这里find。 如果你像我一样,有一些不寻常的依赖关系,你可能需要将它们作为绑定项目自己添加。

我读过,你可以直接将aar / jar依赖项添加到bindingproject,并将生成操作设置为referenceJar或embeddedReferenceJar,但是这对我不起作用。 林相对新的xamarin所以即时通讯不知道它的方式是否意图被使用,或者是因为他们不能自动被绑定,由于执行错误(有一些错误和警告,我需要修复的元文件时我后来将依赖jar / aar添加到它自己的bindingsproject中)。

无论如何,我得到它的方式是通过添加一个新的绑定项目的解决scheme,其中我添加了依赖jar / aar,然后build立它,并添加所需的行/节点在图元文件,使其编译。 然后,我简单地在我的实际绑定项目中添加“依赖绑定”项目作为参考。

这感觉更像是一个解决scheme,而不是一个实际的解决scheme,但至less我得到它的工作,所以希望它可以帮助你。

绑定库总是有他们自己的警告,但我会做一些泛化,以帮助保持你的组织。

  1. 检查涉及的依赖关系,如果它们中的任何一个已经在Nuget上使用这些。 像Android支持库,Google Play API,IBM SDK等等。他们中的大多数已经具有绑定并且在Nuget中。

  2. 不要忘了在Nuget中检查你的依赖版本号。 也许你的.aar lib实际上比Nuget上的Binding更新。

  3. 分开大型图书馆。 find不在Nuget中的相对较大的依赖项,然后为每个项目创build单独的Android绑定库项目。 绑定API通常会以大型库作为依赖关系而分崩离析,因此为它们创build单独的项目(然后添加项目引用到您的最终库)要容易得多(并且更简洁的IMO)。

  4. 把你的jarsaars 。 通常你的.aar文件是最大的一个,它们可以自己绑定,并循环到#3,但jar依赖项应该使用ReferenceJar Build Actions。

  5. 玩你的MetaData.xml 。 这可能需要很长时间,但绑定API并不完美。 使用MetaData和其他文件来清理它的喜好。

其他一些可能有用的东西: