Я знаком с созданием больших приложений с использованием make
, но теперь я начал использовать Android Studio, и я хочу понять, как делать то, что я уже делаю в Makefile
.Внешние зависимости от Gradle
Вот пример, который может помочь вам сформулировать ответ:
Makefile пример: (минималистском)
INK=inkscape
INKFLAGS=--export-area-page
# Resolve *.png dependencies
drawable-mdpi/%.png: %.svg
$(INK) $< [email protected] -w 48 -h 48 $(INKFLAGS)
drawable-hdpi/%.png: %.svg
$(INK) $< [email protected] -w 72 -h 72 $(INKFLAGS)
drawable-xdpi/%.png: %.svg
$(INK) $< [email protected] -w 96 -h 96 $(INKFLAGS)
Более простой пример:
drawable-mdpi/ic_launcher.png: ic_launcher.svg
inkscape ic_launcher.svg --export-png=ic_launcher.png -w 48 -h 48 --export-area-page
drawable-hdpi/ic_launcher.png: ic_launcher.svg
inkscape ic_launcher.svg --export-png=ic_launcher.png -w 72 -h 72 --export-area-page
Как это сделать в Gradle?
Я хочу разрешить внешние зависимости, например, упомянутые в приведенном выше примере. На самом деле я делаю это через «make», но я хочу полностью удалить этот дополнительный шаг.
Gradle по умолчанию компилирует весь Drawable носителя из папки "вытяжки" в вашем андроида проекта.Он также автоматически распознает вложенные папки, такие как drawable-hdpi и drawable-mdpi, и будет использовать их, если это необходимо и доступно для поиска соответствующих изображений для разрешения. В файле build.gradle есть тэг 'dependencies', но из того, что я знаю, он в основном используется для добавления внешних JARS из проекта или, например, Maven, для подачи адреса во внешний репозиторий для загрузки библиотеки для вас. Надеюсь, это поможет вам на вашем пути. –
@G_V Я знаю, что я хочу разрешить внешние зависимости, например, упомянутые в моем примере. Непродуктивно экспортировать каждое изображение вручную при его изменении. Фактически, в настоящее время я делаю это, используя «make», но я хочу полностью удалить этот дополнительный шаг. –
Я могу себе представить, что я сам создаю все в коде на фоновом потоке, а затем кеширую то, что мне нужно, столько, сколько мне нужно. Работает достаточно хорошо, если у вас нет сотен больших рисунков, и в этом случае масштабирование по-прежнему не замедлит работу приложения, но сборщик мусора. Я не могу вам помочь, но, возможно, более рекомендуемые книги [рекомендуемые книги] Грэдля (https://www.gradle.org/books). –