Я создаю библиотеку для Android в Android Studio. Чтобы протестировать и отладить эту библиотеку, я создал проект с двумя модулями: библиотечный модуль (мой код) и модуль приложения (для тестирования)
Создать их было довольно легко. Я просто нажал File > New... > Project
и следовал инструкциям. После этого я смог написать код, запустить сборку и наблюдать за результатами в сгенерированном приложении.
Через пару месяцев все было готово к развертыванию. Я регулярно фиксирую свой код и отправляю его в центральное хранилище, поэтому другой разработчик в моей компании клонировал хранилище и попытался открыть его в Android Studio. Его встретили с совершенно иной точки зрения.
Вот что я вижу:
Это то, что видно, если вы клонируете репо и откройте его:
При взгляде на второе представление нет способа построить проект, нет конфигураций сборки, нет вариантов, и ни один из скриптов gradle, похоже, не запускается.
Если вместо клонирования я просто cp -r
весь каталог моего проекта и открою , то в Android Studio, открывается идеально. Таким образом, проблема заключается в том, что ie что-то в моем .gitignore
скрывает важный файл конфигурации, необходимый для сборки проекта.
.gitignore
был сгенерирован для меня автоматически Android Studio. Это выглядит так:
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
Все, что есть должно быть файлами, сгенерированными инструментами сборки или локальными файлами конфигурации рабочей области, а не файлами уровня проекта, необходимыми для компиляции , Но я не очень знаком с Android, его этапами сборки или 800 000 вещей Android Studio неявно и тайно делает за моей спиной. Простое открытие проекта в Android Studio приводит к изменению примерно 12 файлов на диске, поэтому я знаю, что он делает много вещей за моей спиной.
При необходимости я могу поделиться любой информацией о моей конфигурации или настройке проекта. Я уже потратил несколько часов на это и не могу понять, как заставить этот проект строить.