-
Notifications
You must be signed in to change notification settings - Fork 600
Description
Duplicate Check
- I have searched the opened issues and there are no duplicates
Describe the bug
When running flet build apk, the console only shows:
Installing flet-cli 0.70.0.dev6709 package...OK [18:49:10] Flutter 3.35.5 installed ✅ [18:49:12] JDK installed ✅ Android SDK installed ✅ ( ● ) Packaging Python app...
For hours and hours it only shows that message and doesn't go beyond that.
Code sample
import flet as ft
import time
import asyncio
from dataclasses import dataclass
@DataClass
class AppState(ft.Observable):
value: str = ""
is_loading: bool = True
init_message: str = ""
_initialized: bool = False # evita repetir la operación inicial
async def run_initial_operation(self):
"""Operación larga que solo debe ejecutarse una vez."""
if self._initialized:
return
self._initialized = True
start = time.perf_counter()
await asyncio.sleep(5) # Simula operación de 5 segundos
duration = time.perf_counter() - start
self.init_message = f"Operación inicial completada en {duration:.2f} segundos."
self.is_loading = False
print(f"OPERACIÓN INICIADA: {duration:.2f}")
def set_value(self, e):
self.value = e.control.value
@ft.component
def app():
page = ft.context.page
state, _ = ft.use_state(AppState())
# Lanza la operación inicial solo una vez
async def initialize():
await state.run_initial_operation()
if not state._initialized:
page.run_task(initialize)
# --------- UI: Loading screen ----------
loading_view = ft.Column(
[
ft.ProgressRing(),
ft.Text("Cargando...", size=18),
],
alignment=ft.MainAxisAlignment.CENTER,
horizontal_alignment=ft.CrossAxisAlignment.CENTER,
expand=True,
visible=state.is_loading,
)
home_view = ft.Column(
[
ft.Text("Bienvenido a Home", size=24, weight="bold"),
ft.Text(state.init_message, size=16),
ft.TextField(
value=state.value,
on_change=state.set_value,
),
],
alignment=ft.MainAxisAlignment.CENTER,
horizontal_alignment=ft.CrossAxisAlignment.CENTER,
expand=True,
visible=not state.is_loading,
on_scroll=on_scroll_
)
return ft.SafeArea(
expand=True,
content=ft.Stack(
controls=[
loading_view,
home_view,
]
),
)
async def on_scroll_(e):
print('On scroll...')
def before_main(page: ft.Page):
# Configurar ventana antes de renderizar nada
page.window.width = 500
page.window.height = 500
page.window.resizable = False
#page.window.visible = False
def main(page: ft.Page):
page.render(app)
ft.run(
main=main,
before_main=before_main
)
To reproduce
- Create a project with "flet create project".
- Build any simple Flet app with State (ft.Observable).
- Verify it runs properly.
- Run "flet build apk".
- Wait...
Expected behavior
No response
Screenshots / Videos
No response
Operating System
Windows
Operating system details
Windows 11
Flet version
0.70.0.dev6709
Regression
Yes, it used to work in a previous Flet version (please specify the version in additional details)
Suggestions
No response
Logs
Installing flet-cli 0.70.0.dev6709 package...OK
[18:49:10] Flutter 3.35.5 installed ✅
[18:49:12] JDK installed ✅
Android SDK installed ✅
( ● ) Packaging Python app...
Additional details
No response