Мое приложение AR работало нормально и в магазине Google Play, но мне пришлось сделать несколько небольших настроек пользовательского интерфейса, и когда я попытался обновить в магазине, я столкнулся с новым 64-битным требованием. Мне удалось переустановить все сторонние библиотеки Unity, которые я использовал, чтобы исправить почти все из них, кроме одной проблемы с DLL. Все отлично работает в 32-битной версии il2cpp arm, но если я добавлю поддержку для 64-битной версии, то это сломается. AR вроде работает, но размещение объектов далеко.
Если я нажимаю на «libarcore_camera_utility.so» в каталоге Assets \ GoogleARCore \ examples \ ComputerVision \ Plugins, в редакторе Unity он позволяет выбрать, какойПроцессор нацеливается на 32/64, (не то и другое по какой-то причине). Я могу переключить его на 64, но я все еще получаю ошибку DLL not found, даже если она находится в правильном каталоге в APK. (Я также пытался переместить файл в Assets \ Plugins \ Android \ libs (как arm64-v8a, так и armeabi-v7a) и по-прежнему получал ошибку DLL, если в качестве цели я включил 64-битную версию (все прекрасно работает, если только 32-битная)
Если я запускаю logcat на 64-битной версии, которая ломается, я получаю сообщение об ошибке:
DllNotFoundException: Невозможно загрузить DLL «arcore_camera_utility»: указанный модуль не найден. UnityARInterface.ARCoreInterface.TextureReader_create (формат Int32, ширина Int32, высота Int32, булево значение keepAspectRatio) [0x00000] в в UnityARInterface.ARCoreInterface + c__Iterator0.MoveNext () [0x00000 int.NeetTeNueUnTegn.Ru.Tegn.Tegn.Tegn.RuNegn.RuNegn.RuNegn.Ru.Ru.Ru. 0x00000] in: 0
Файл «arcore_camera_utility.so», по-видимому, является виновником, потому что, если я создаю только для 32-битной версии и удаляю этот файл, я получаю то же сообщение об ошибке и поведение, что и для 64-битной версии.