Xamarin формирует собственную библиотеку Android, не работающую с архитектурой Armv8lAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Xamarin формирует собственную библиотеку Android, не работающую с архитектурой Armv8l

Сообщение Anonymous »

У меня есть приложение форм xamarin, которое должно использовать собственную библиотеку Android.
Я создал библиотеку как динамическую общую библиотеку (Android) (я использую Visual Studio 2022 v17.9.6).
Я собираю библиотеку для четырех различных платформ, доступных в Visual Studio (x86, x64, ARM, ARM64), добавляю полученные файлы .so в следующие папки в моем проекте xamarin.Android (устанавливая действие сборки AndroidNativeLibrary):
  • .so из x86 добавлен в /lib/x86.
  • .so из x64 добавлен в /lib/x64.
    .so из ARM добавлен в /lib/armeabi-v7a.
  • .so из ARM64 добавлен в /lib/arm64-v8a.
и в файле .csproj в проекте Android я добавил следующее:

Код: Выделить всё

lib\arm64-v8a\libRootUtil.so
arm64-v8a
Always


lib\armeabi-v7a\libRootUtil.so
armeabi-v7a
Always


lib\x86_64\libRootUtil.so
x86_64
Always


lib\x86\libRootUtil.so
x86
Always

В основном действии я импортировал dll:

Код: Выделить всё

[DllImport("libRootUtil_v8l")]
public extern static int CheckRootAccessMethod1();
Это прекрасно работает с устройством с архитектурой «aarch64» (Huawei Y 7 Prime 2019)
Но с устройством с архитектурой Armv8l (например : Samsung Galaxy Tab A6, я получаю следующее исключение:
{System.DllNotFoundException: libRootUtil build: type:member:(null)
at (управляемая-собственная оболочка) CorrespondenceApp.Droid.MainActivity. CheckRootAccessMethod1()
Примечание. Я получаю архитектуру, используя: Java.Lang.JavaSystem.GetProperty("os.arch")
Как я могу решить эту проблему?
Заранее спасибо.
Я попытался добавить еще одну папку с именем /lib/arm64-v8l и добавить тот же файл .so, полученный из ARM64. и добавьте для него новый элемент в файл .csproj:

Код: Выделить всё

lib\arm64-v8l\libRootUtil.so
arm64-v8l
Always

Но не сработало

Подробнее здесь: https://stackoverflow.com/questions/785 ... ure-armv8l
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»