Если коротко: "не качайте android ndk через android studio".
Всё, можно спокойно выдохнуть и рассказать последовательно как, что и зачем :)
Билд x64
Вроде бы с августа 2019-ого андроид-магазин (play.market) уже не будет допускать к публикации приложения без x64 архитектуры. Глянул в консоле - вот те на, у меня как раз все проекты только на x32 архитектуре. Получается, нужно пересобрать и залить новые билды, чтобы не было проблем.Итак, задача: сбилдить проект в x32 + x64
За работу!
Непонятные галочки
Погуглил где есть настройка для билда в x64.Итак, есть магические галочки вот тут:
Внизу галочка ARM64, но чтобы стала доступной, вверху выбираем IL2CPP.
Жмякаем и в путь.
Увидел странный комментарий "вам еще понадобится android ndk". Чего? Что за ndk? Человек опечатался, и вместо sdk написал ndk? Ну, может быть! Но комментарий я этот запомнил.
Android NDK
Поставил галочки, Unity сразу проверил dependencies, нашел проблемы, сам их пофиксил (какой умничка!)И вот я попробовал сбилдить с нужными галочками. А Unity мне говорит: "укажите путь к android ndk". Ага! То есть реально есть какая-то заморочка с этим, и человек не опечатался. Тогда я погуглил "как установить android ndk" - и попал сюда, где по пунктам расписано какие галки включить, чтобы android studio докачал android ndk. И если вы, как и я, не читаете статьи до конца - то я вам сразу скажу: НЕ ДЕЛАЙТЕ ТАК! Установка этой галочки привела в тому, что я весь день бегал за ошибками.
Unity и NDK
И вот я скачал ndk через android studio. Теперь, чтобы забиндить путь к ndk, нужно зайти сюда:Всё сделал, но проект не собирался.
Зашел проверить, всё ли ок с папкой, которую я указал для ndk. И тут я заметил кнопку download. Жмякнул - Unity начал откуда-то выкачивать ndk. Ну ок. Давай с этим ndk попробуем. Скачал, распаковал, указал новый путь. И тут я попал в водоворот странных ошибок и еще более странных путей их решения в интернете.
Ошибки, ошибки, ошибки
Не буду грузить тем, что в итоге поломалось, и что я пробовал, чтобы решить проблему. Чтобы лучше гуглилось, я скину логи ошибок в самый низ этого сообщения. А здесь коротко расскажу, что я пробовал:- Убрал ссылку на ndk и вернул галки как было
- Удалял папки gradle по всей системе (совет отсюда)
- Устанавливал custom gradle template и руками его правил в блокноте (совет отсюда)
- Качал новые java sdk, android sdk и прочие умные названия
- В какой-то момент Unity начал выдавать "build successful", а итогового файла нет
- Перегружал стопицот раз Unity и макбук
- Танцевал с бубном
Уже была ночь и вдруг полил очень сильный дождь. Так что бубен работает!
Решение
Я не хотел сдаваться, и в два часа ночи наткнулся здесь на такой вариант - удалите ndk из android studio. И да, это помогло. Выходит, если ndk есть в составе android sdk, и даже я не использую его для сборки - оно всё равно цепляется и кастит ошибки на выходе. Это очень печально.
Некоторые ошибки, которые у меня были
FAILURE: Build failed with an exception.* What went wrong:
A problem occurred configuring project ':Firebase'.
Could not resolve all files for configuration ':Firebase:classpath'.
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'gradleOut'.
Could not resolve all files for configuration ':classpath'.
* What went wrong:
A problem occurred configuring root project 'gradleOut'.
No toolchains found in the NDK toolchains folder for ABI with prefix:
0 коммент.:
Отправить комментарий