Изучаю третий день программинг под Android
С языками проблем нет, но как всегда есть проблемы с инструментами и пониманием их работы.
Вот в Visual Studio у проекта есть единственный "файл проекта", который можно было открыть любой студией. Древний *.dsp 98 года открывается и конвертируется самой последней 2022-й студией. А что в Android?
Скачал с гитхаба некий проект. Решил его открыть в Android Studio, и посыпались какие-то странные ошибки. Я даже их смысла не понимаю, но вероятно это что-то связанное с системой сборки gradle. Там куча файлов, смысл которых я вообще не понимаю. На stackoverflow они упоминаются для других версий Студии, и решения там совершенно отличаются от того, что есть у меня.
Я для примера создал простейший проект в Android Studio и решил обычной сравнивалкой файлов сравнить аналогичные файлы: build.gradle, settings.gradle, local.properties и прочие. Они вообще, по структуре отличаются!
Получается, путь скачивания с гитхаба и компиляции закрыт, и можно только подсматривать и дергать куски кода на java или kotlin, а целые проекты сразу собрать не удастся?
Здравствуйте, 00011011, Вы писали:
0>Изучаю третий день программинг под Android 0>С языками проблем нет, но как всегда есть проблемы с инструментами и пониманием их работы. 0>Вот в Visual Studio у проекта есть единственный "файл проекта", который можно было открыть любой студией. Древний *.dsp 98 года открывается и конвертируется самой последней 2022-й студией. А что в Android?
Всё плохо.
0>Получается, путь скачивания с гитхаба и компиляции закрыт, и можно только подсматривать и дергать куски кода на java или kotlin, а целые проекты сразу собрать не удастся?
Можешь попробовать собрать из консоли. Шансы будут побольше. Обычно надо создать local.properties (можно скопировать с того проекта, который в студии создан) и выполнить ./gradlew assembleDebug
Но если хочется в идее нормально работать, нужен определенный опыт, чтобы понимать, что как работает и решать возникающие проблемы. В общем придётся страдать. Как минимум: разберись досконально с каждым файлом в проекте, зачем он нужен и тд. И с процессом сборки, что во что превращается.
Здравствуйте, 00011011, Вы писали:
0>Изучаю третий день программинг под Android 0>С языками проблем нет, но как всегда есть проблемы с инструментами и пониманием их работы. 0>Вот в Visual Studio у проекта есть единственный "файл проекта", который можно было открыть любой студией. Древний *.dsp 98 года открывается и конвертируется самой последней 2022-й студией. А что в Android? 0>Скачал с гитхаба некий проект. Решил его открыть в Android Studio, и посыпались какие-то странные ошибки. Я даже их смысла не понимаю, но вероятно это что-то связанное с системой сборки gradle. Там куча файлов, смысл которых я вообще не понимаю. На stackoverflow они упоминаются для других версий Студии, и решения там совершенно отличаются от того, что есть у меня. 0>Я для примера создал простейший проект в Android Studio и решил обычной сравнивалкой файлов сравнить аналогичные файлы: build.gradle, settings.gradle, local.properties и прочие. Они вообще, по структуре отличаются! 0>Получается, путь скачивания с гитхаба и компиляции закрыт, и можно только подсматривать и дергать куски кода на java или kotlin, а целые проекты сразу собрать не удастся?
Там вообще лютая каша. gradle использует язык groovy. Он определяет хренову кучу действий которые потом выстраивает в граф и исполняет + костыли и т.п. Как и любая другая система сборки.
Но так как там всё постоянно меняется и это полноценный язык программирования, гибкость очень зашкаливает. Можно вообще всё от плагинов до вирусов. Последнии версии студии кстати спрашивают "вы в своём уме? вы точно доверяете этому проекту." после чего вся ответственность как бы на вас.
Вообще там идея такая. Есль gradlew — gradle wrapper он используется чтобы скачать сам gradle (всех нужных версий и все зависиомости) потом все зависимости для вашего проекта и потом собрать.
в идеале после скачивания проекта просто пишете ./gradlew build и всё, оно должно собраться (после того как выкачает гига два или около того). (Если много проектов то будет зоопарк разнообразных версий всего).
Сама студия постоянно призывает обновить gradle и потом обязательно что-то отваливается по причине depricated или других несовместимостей. А обновляется всё постоянно и не всегда в лучшую сторону.
ps: то что можно собрать скриптом за 10сек gradle может вдумчиво собирать более получаса, но при повторном запуске уже будет быстро
Здравствуйте, 00011011, Вы писали:
0>Изучаю третий день программинг под Android 0>Скачал с гитхаба некий проект. Решил его открыть в Android Studio, и посыпались какие-то странные ошибки.
За понимание структуры проекта отвечает "Android gradle plugin" или как-то так,
а не сама IDE.
Обычно плагин если видит что проект старой версии предлагает его сконвертировать
в более новую версию, но автоматическая конвертация не всегда работает полностью правильно и приходится
допиливать руками.
Но старые версии представления проекта тоже поддерживаются сколько-то времени,
поэтому частая ошибка это как раз согласиться на конвертирование и получить кучу мало вразумительных
ошибок.
Здравствуйте, 00011011, Вы писали:
0>Скачал с гитхаба некий проект. Решил его открыть в Android Studio, и посыпались какие-то странные ошибки. Я даже их смысла не понимаю, но вероятно это что-то связанное с системой сборки gradle. Там куча файлов, смысл которых я вообще не понимаю. На stackoverflow они упоминаются для других версий Студии, и решения там совершенно отличаются от того, что есть у меня. 0>Я для примера создал простейший проект в Android Studio и решил обычной сравнивалкой файлов сравнить аналогичные файлы: build.gradle, settings.gradle, local.properties и прочие. Они вообще, по структуре отличаются!
ага, всё печально. С выходом нового грэдла периодически приходится переделывать скрипты.
0>Получается, путь скачивания с гитхаба и компиляции закрыт, и можно только подсматривать и дергать куски кода на java или kotlin, а целые проекты сразу собрать не удастся?
Можно попрбовать скачать старую студию, с подходящей версией gradle плагина.
Вообще в мобилках всё очень быстро меняется. На старые учебные проекты надо смотреть с осторожностью, потому что многие вещи, которые там используются, могут быть уже устаревшими.