如何在 Xamarin.Android 中使用包含其他 aar 的 aar

How to use an aar including other aar in Xamarin.Android

我正在使用Xamarin开发一个APP,需要使用Android Studio (AS)开发的其他aar。

在 AS 中,我创建了一个名为 "javaLib" 的 Java 库模块。构建后,我得到了 javaLib-debug.aar。然后我创建了一个绑定库(Android)项目并添加了这个aar。建成后,我得到了 AarBinding.dll.

在Xamarin.Android中,我添加了这个dll作为参考,可以正常使用

但是现在我的aar中,需要其他库的支持,比如azure-storage-android。 为此,我在模块的 build.gradle 中添加了

编译'com.microsoft.azure.android:azure-storage-android:0.7.0@aar'

然后我就可以在我的模块中使用Azure API,它在AS生成的APP中运行良好。

但是当我在 Xamarin.Android 中使用包含 Azure API 的 dll 时,该 dll 的其他部分仍然有效,但 Azure API 不可用。他们似乎没有 运行.

有没有办法在 Xamarin.Android 中使用包含其他 aar 的 aar?如何实现?任何例子和建议表示赞赏。非常感谢。

Is there a way to use an aar including other aar in Xamarin.Android? How to achieve that? Any examples and suggestions are appreciated.

参考Troubleshooting Bindings:

The external dependencies for the library – Any Java dependencies required by the Android library must be included in the Xamarin.Android project as a ReferenceJar or as an EmbeddedReferenceJar.

因此,您需要找到 azure-storage sdk 库并将其作为 ReferenceJarEmbeddedReferenceJar.

复制到您的项目中