В настоящее время я пишу плагин для использования SDK поддержки Zendesk (https://developer.zendesk.com/embeddables/docs/android_support_sdk/nutshell) в моем проекте Xamarin.Forms. Я написал и протестировал плагин в Android Studio с небольшим Activity / UI. Теперь я создалПривязка проекта для использования файла .aar внутри Xamarin. Если я запускаю приложение и получаю доступ к первой функции, я получаю код ошибки.
Я уже пытался добавить файлы .jar, которые загружаются при загрузке в ~ /.gradle / caches / modules-2 / files-2.1 для проекта привязки, а также удаляю все параметры, которые я передаю плагину. Последний тест, который я сделал, - это изменение действия сборки проекта привязки, в настоящее время это действие сборки моего .aar.устанавливается в «LibraryProjectZip» в соответствии с рекомендациями документации Xamarin.
Java
import android.app.Activity;
import android.util.Log;
import java.util.List;
import java.util.Locale;
import zendesk.commonui.UiConfig;
import zendesk.core.AnonymousIdentity;
import zendesk.core.Identity;
import zendesk.core.Zendesk;
import zendesk.support.Support;
import zendesk.support.guide.HelpCenterActivity;
import zendesk.support.guide.ViewArticleActivity;
import zendesk.support.request.RequestActivity;
public void Init () {
try {
// Return if Zendesk is already initialized
if (IsInitialized()) return;
Zendesk.INSTANCE.init (MainActivity, zendeskCredentials.zendeskUrl,zendeskCredentials.applicationId,zendeskCredentials.oauthClientId);
Support.INSTANCE.init(Zendesk.INSTANCE);
Identity identity = new AnonymousIdentity.Builder().withNameIdentifier(zendeskCredentials.userName).withEmailIdentifier(zendeskCredentials.userEmail).build();
Zendesk.INSTANCE.setIdentity(identity);
Support.INSTANCE.setHelpCenterLocaleOverride(locale);
}
catch (Exception e) {
Log.d("EXCEPTION: ", e.getMessage());
}
}
____________
Xamarin
public void Init() {
ZendeskPlugin.Instance.Init();
}
Вот что я получаю:
Java.Lang.NoClassDefFoundError: Неудачное разрешение:Lzendesk / core / Zendesk; ---> Java.Lang.ClassNotFoundException: не найден класс "zendesk.core.Zendesk" по пути: DexPathList [[файл zip "/system/framework/org.apache.http.legacy.boot.jar ", zip-файл" /data/app/de.foo.foo-25GgMgJo-hI1Hnw8TCqT-A==/base.apk"],nativeLibraryDirectories=[/data/app/de.foo.foo-25GgMgJo-hI1Hnw8TCqT-A == / lib / arm64, /data/app/de.foo.foo-25GgMgJo-hI1Hnw8TCqT-A==/base.apk!/lib/arm64-v8a, / system / lib64, /system / vendor / lib64]] --- конец трассировки стека внутренних исключений --- в Java.Interop.JniEnvironment + InstanceMethods.CallVoidMethod (экземпляр Java.Interop.JniObjectReference, метод Java.Interop.JniMethodInfo, Java.Interop.JniArgumentValue *арг) [0x00069] в <09821b4f44794452b7d6c054ac9447f5>: 0 в Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable самостоятельно, Java.Interop.JniArgumentValue * параметры) [0x0002a] в <09821b4f44794452b7d6c054ac9447f5>:0
...