如何调用 AAR 库方法?

How to call AAR library methods?

我正在尝试为 Application Insights Android SDK

创建一个简单的包装器

我在 Android Studio 中构建库,导致此调试 AAR file 然后我将其添加到 Xamarin Studio 中的库绑定项目。

但是,当我引用它时,我有命名空间:

using Com.Microsoft.Applicationinsights.Library;

但它不包含 class ApplicationInsights,如果它与它包装的 java 库匹配,它应该包含。

我不想要花哨的完整 CLR 包装器,我只想调用 class 上的 "setup" 方法,该方法将应用程序的上下文作为参数,然后能够简单地调用跟踪方法。

创建一个新的Java绑定库,添加AAR文件然后你可以做这样的事情:

_appInsights = JNIEnv.FindClass ("com/microsoft/applicationinsights/library/ApplicationInsights");
_methodSetup = JNIEnv.GetStaticMethodID(_appInsights, "setup",
            "(Landroid/content/Context;Landroid/app/Application;Ljava/lang/String;)V");

对其调用设置:

    public static void Setup(Android.Content.Context context, Android.App.Application app, String key) {
        var c = new JValue(context);
        var a = new JValue(app);
        var s = new JValue(new Java.Lang.String(key));

        JNIEnv.CallStaticVoidMethod (_appInsights, _methodSetup, c, a, s);
    }