Невозможно построить проект с Firebase и Mapbox - PullRequest
0 голосов
/ 01 ноября 2019

Я создал игру на основе определения местоположения, используя Mapbox SDK в Unity 2018.2.1f1, и она была в состоянии собрать очень хорошо. Моя цель состояла в том, чтобы добавить функциональность базы данных в мой проект с помощью Firebase, чтобы хранить GPS-координаты онлайн.

Я следовал официальному руководству по настройке Firebase в проекте Unity. Когда это было завершено, всплыло окно с сообщением «Устранение зависимостей Android», что заняло около получаса.

С тех пор я не могу выполнить сборку на устройстве Android. Я получаю сообщение об ошибке 96-градусной сборки, и одна из них вверху:

> No toolchains found in the NDK toolchains folder for ABI with prefix: 
mips64el-linux-android"

Я вернул проект до версии, предшествующей Firebase, и все еще не смог собрать, как будто что-то в сборке Androidинструменты были изменены.

Затем я попробовал совершенно другую версию Unity и установил новую версию Unity 2019.2.9f1. Я решил использовать эту версию встроенного в Android SDK и NDK для Unity. Я вернул свой проект обратно к последней известной рабочей версии (pre-Firebase), перенес его на новую версию Unity и завершил успешную сборку на своем устройстве, прежде чем двигаться дальше.

Затем я выполнил соответствующие шагичтобы снова добавить Firebase в мой проект, и в Unity появились те же самые всплывающие окна, утверждающие, что он обнаружил «устаревшие файлы», которые он хотел удалить (на этот раз я сказал «нет»), и затем он выполнил ту же «Resolving Android»Зависимости "процесс.

Как только этот процесс был завершен, я не внес никаких других изменений и попытался собрать заново. Это не удалось, и я получил те же 96 ошибок сборки Gradle. Это подтверждает, что эта ошибка повторяется в двух разных версиях Unity.

Я считаю, что это как-то связано с конфликтующими зависимостями между Mapbox и Firebase. Кто-нибудь сталкивался с этой проблемой или успешно смог использовать эти две вещи вместе в проекте?

1 Ответ

1 голос
/ 01 ноября 2019

Итак, основная проблема заключается в том, что что-то говорит процессу сборки Android для создания файлов проекта для архитектуры MIPS. Эта архитектура была удалена из официального NDK в r17 (см. эту ссылку для поддерживаемых архитектур). Я не уверен, что Unity когда-либо поддерживал это, но это не в текущей версии: Target Architectures screenshot showing only ARM and x86

Я не знаю, как MapBox упакован и отправлен, поэтому я неточно знать, какие хуки постобработки могут конфликтовать между этим и Firebase. Я постараюсь дать вам несколько шагов вперед.

Во-первых, убедитесь, что у вас установлена ​​последняя версия SDK из Firebase и MapBox . Кроме того, когда он просит удалить устаревшие файлы, скажите «да». Средство Play Services Resolver должно запрашивать это только для файлов, которые оно отслеживает (и плагин Firebase поставляется в состоянии, в котором это ожидается).

Если это не помогает, найдите папку mips, включенную в ваш Unity. проект (вероятно, что-то вроде libs / mips или jnilibs / mips). Надеемся, что удаление этих исправит проблему.

Если вышеприведенное не работает или не работает, попробуйте использовать файл mainTemplate.gradle: Screenshot of Settings for Android showing Custom Gradle Template under Publishing Settings, Build

Если вы будете следовать инструкциям, которые я написал здесь , чтобы дать указание Play Services Resolver исправить файл mainTemplate.gradle: Patch mainTemplate.gradle checked

Вы можете дважды проверить свой ABIфильтры прямо в файле. По умолчанию он показывает:

ndk {
    abiFilters **ABIFILTERS**
}

, чтобы соответствовать тому, что вы выбрали в Unity. Но вы можете использовать это, чтобы дважды проверить, что mips64 не включен через какой-то другой процесс.

К сожалению, я не знаю, что еще предложить, если ни один из вышеперечисленных вариантов не работает. В этом случае я бы предложил опубликовать немного больше ошибок, которые вы получаете. Если вы можете воспроизвести ошибку, имеющуюся у вас в одном из примеров проектов Firebase , вы можете подать проблему непосредственно на этот трекер проблем . Наконец, если вы не получили здесь ответа и думаете, что он связан с Firebase, вы также можете обратиться в службу поддержки Firebase .

Надеюсь, что-то в моем посте поможет!

- Патрик

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...