Xamarin переплет для AWS SDK
Резюме
При связывании JAR/AAR, построенного поверх aws-java-sdk, нужно ли EmbeddedReferenceJar использовать все библиотеки ниже вашего JAR, вплоть до aws-java-sdk включительно, когда он находится на этом низком уровне для AWS SDK.NET имеет функциональность.
Существуют ли какие-либо пакеты Xamarin (Xamarin.Forms или Xamarin.Android), которые предоставляют готовый пользовательский интерфейс для аутентификации с кнопками входа в систему / регистрации для пулов пользователей AWS, Google+, поставщиков аутентификации Facebook?
контекст
Я хотел бы использовать SignInUI из aws-android-sdk-auth-ui
в приложении Xamarin.Android, которое предоставляет готовый пользовательский интерфейс для аутентификации в AWS. У меня есть AWS UserPool
а также AWS IdentityPool
настройка уже.
К сожалению, AWS SDK for .NET
не выставляет эквивалент aws-android-sdk-auth-ui
пакет Java, построенный на вершине aws-android-sdk-auth-core
(также недоступно в.NET), который построен поверх aws-android-sdk-core
и наконец aws-java-sdk
,
Я думал о привязке библиотеки Java. Я хотел бы создать обязательный проект Xamarin для aws-android-sdk-auth-ui.aar
скачал с maven центральный. Я следовал Обучающему учебнику .AAR. Он строит, но генерируется aws-android-sdk-auth-ui.dll
В файле отсутствуют некоторые классы. Я открыл длл с Ildasm.exe
и в Com.Amazonaws.Mobile.Auth.UI
пространство имен я только нашел AuthUIConfiguration
а также BuildConfig
явно не хватает SignInUI
учебный класс.
Ожидается ли, что при создании обязательного проекта для .aar
файл, который ссылается на другие .jar
сборка завершается успешно, но молча не создает классы-обертки для классов Java, которые ссылаются на отсутствующие jar-файлы? Я бы предположил, что сборка будет успешной И будет включать в себя оболочку для всех классов, но сбой произойдет во время выполнения в коде пути, который требует отсутствующего jar.
Хорошо, поэтому я добавил aws-android-sdk-auth-core.jar
, aws-android-sdk-core.jar
к проекту привязок, как EmbeddedReferencedJar. Это не помогло, сгенерированный dll
также отсутствуют те же классы. Вывод сборки, вставленный ниже, указывает на направление ошибочных ссылок. Увидеть ниже.
Как далеко мне нужно идти, мне также нужно встраивать до 80 МБ aws-java-sdk.jar
?
У меня есть следующий вывод сборки:
1>JARTOXML : warning J2X9001: Couldn't load class com/amazonaws/mobile/auth/ui/SignInActivity : java.lang.NoClassDefFoundError: android/support/v7/app/AppCompatActivity
1>JARTOXML : warning J2X9001: Couldn't load class com/amazonaws/mobile/auth/ui/SignInUI$1 : java.lang.NoClassDefFoundError: com/amazonaws/mobile/auth/core/DefaultSignInResultHandler
1>JARTOXML : warning J2X9001: Couldn't load class com/amazonaws/mobile/auth/ui/SignInActivity$SignInProviderResultHandlerImpl : java.lang.NoClassDefFoundError: com/amazonaws/mobile/auth/core/signin/SignInProviderResultHandler
android/support/v7/app/AppCompatActivity
указывает на то, чтоcom.android.support:appcompat
не найден Как эти должны связывать? В Xamarin.Android эти классы находятся вXamarin.Android.Support.v7.AppCompat
Пакет Nuget. Но баночка не знает, что она работает в Xamarin.Android. Означает ли это, что мне также нужно EmbedReferenceJar все нативные вещи для Android? Это глубокая кроличья нора...com/amazonaws/mobile/auth/core/DefaultSignInResultHandler
: что не должно быть ошибки, я вставил aws-android-sdk-auth-core.jar с EmbbededRefenceJar
Обновить:
Кто-то направил меня к Xamarin.GradleBindings. Я еще не проверял это, но подумал, что поделюсь надеждой, что это может быть полезно для других читателей.