Как запустить предварительный просмотр функций компоновки без сборки всего APK в модуле :appAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как запустить предварительный просмотр функций компоновки без сборки всего APK в модуле :app

Сообщение Anonymous »

У меня многомодульный проект, и все предварительные просмотры в модуле :compose выполняются быстро, но когда я пробую то же самое в модуле :app, он всегда собирает весь APK даже если создание текста — это очень простая текстовая функция:

Код: Выделить всё

:compose
модуль

Код: Выделить всё

@Composable
fun MyComposable() {
Text("this runs fast in the compose module")
}

@Preview
@Composable
fun MyComposablePreview() {
MyComposable()
}
модуль

Код: Выделить всё

@Composable
fun MyComposableScreen() {
Text("this should run fast in the app module as well, but instead the entire app APK is being generated every time Run Preview is  pressed")
}

@Preview
@Composable
fun MyComposableScreenPreview() {
MyComposableScreen()
}
Если я нажму кнопку «Запустить предварительный просмотр» в окне предварительного просмотра Android Studio
Изображение

для MyComposablePreview, то он запускает этот предварительный просмотр только самостоятельно, без какой-либо другой зависимости, просто отлично, это означает, что ничего другого, кроме этого предварительного просмотра, не будет выполнено.
Однако, если я сделаю то же самое в своем модуле :app с MyComposableScreenPreview, то он создаст весь APK-файл приложения вместе с самим экраном предварительного просмотра.
При каждом запуске всегда требуется столько же времени, сколько требуется для создания всего APK приложения. Это может занять несколько минут для каждого «Запустить предварительный просмотр» или дольше, если приложение больше. Запуск их в модуле :compose занимает максимум 2 секунды.
Это большая проблема, поскольку приложение также имеет много сложной логики перед его вводом (экран маршрутизация, этап входа в систему, этап настройки сервера и т. д.), что делает практичность предварительного просмотра создания, упомянутого выше, по большей части бесполезной, поскольку, если правильная настройка/конфигурация не существует, предварительный просмотр не отображается или перенаправляется на другой экран. .
Я пытался найти способ НЕ собирать весь APK при запуске предварительного просмотра компоновки в модуле :app, но пока ничего не нашел.
Есть ли какой-нибудь способ это сделать? Я настроил его так, чтобы он не создавал весь APK при запуске предварительного просмотра в модуле :app?
ПРИМЕЧАНИЕ. Просто не запускать предварительный просмотр в модуле :app будет не будет жизнеспособным решением, поскольку это уже было достигнуто (как я уже упоминал выше). Это требование позволяет мне запускать предварительный просмотр с логикой, которая существует только в модуле :app, а не в модуле :compose.

Подробнее здесь: https://stackoverflow.com/questions/793 ... apk-in-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»