Skip to content

BlazorWebView en Android no carga archivos JS desde wwwroot (404 incluso estando en el APK) #33461

@jorgearana

Description

@jorgearana

Description

Estoy probando un proyecto sencillo con .NET MAUI Hybrid + BlazorWebView.
El proyecto solo incluye estilos y componentes de BlazorTabler, sin lógica compleja.
En Windows funciona correctamente, pero en Android el WebView no logra cargar ni siquiera un archivo JS básico (sitio.js), aunque el archivo está presente en el APK dentro de wwwroot/js.

Steps to Reproduce

  • Crear un proyecto MAUI Blazor Hybrid.
  • Añadir un archivo wwwroot/js/sitio.js con funciones simples (getTheme, toggleMenu, etc.).
  • Referenciarlo en index.html:
<script src="/js/sitio.js"></script>
  • Compilar y desplegar en Android (emulador o dispositivo físico).
  • Abrir la app y revisar la consola con chrome://inspect.
    Comportamiento esperado
    El archivo sitio.js debería cargarse correctamente desde wwwroot/js y las funciones deberían estar disponibles en Blazor.

❌ Comportamiento actual

  • El WebView devuelve:
    Failed to load resource: the server responded with a status of 404 (Not found)
    - Blazor lanza:
    The value 'getTheme' is not a function
  • La aplicación queda en blanco o requiere reiniciar varias veces para que aparezca.
  • En Windows funciona sin problemas, pero en Android falla siempre.

📂 Detalles adicionales

  • El archivo sitio.js está presente en el APK (verificado descomprimiendo el paquete).
  • .csproj configurado para copiar recursos de wwwroot.
  • Probado con rutas relativas (js/sitio.js) y absolutas (/js/sitio.js), sin querystrings.
  • autostart="false" en blazor.webview.js rompe la inicialización en Android, pero dejarlo automático genera problemas en Windows.

Conclusión
Actualmente, MAUI Hybrid no logra cargar recursos básicos en Android, incluso en proyectos simples.
Esto hace que la plataforma no sea confiable para producción, ya que si no puede cargar un JS, tampoco podrá manejar proyectos más complejos.

dotnet --version: 10.0.101.1

dotnet workload list:
android 36.1.2/10.0.100 SDK 10.0.100, VS 18.1.11312.151, VS 17.14.36623.8
ios 26.2.10191/10.0.100 SDK 10.0.100, VS 18.1.11312.151, VS 17.14.36623.8
maccatalyst 26.2.10191/10.0.100 SDK 10.0.100, VS 18.1.11312.151, VS 17.14.36623.8
maui 10.0.1/10.0.100 SDK 10.0.100
maui-windows 10.0.1/10.0.100 SDK 10.0.100, VS 18.1.11312.151, VS 17.14.36623.8
wasm-tools 10.0.101/10.0.100 SDK 10.0.100

Link to public reproduction project repository

https://github.com/jorgearana/MAUIErrorRepo

Version with bug

10.0.1

Is this a regression from previous behavior?

No, this is something new

Last version that worked well

No response

Affected platforms

Android

Affected platform versions

android 13 API 33

Did you find any workaround?

No encontré ningún workaround estable.
Probé las recomendaciones habituales (copiar todo wwwroot, usar rutas absolutas, quitar querystrings, ajustar el .csproj, cambiar autostart), pero en Android el WebView sigue sin cargar los archivos JS.
En Windows funciona, pero en Android nunca logré que funcionara de forma confiable.

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-blazorBlazor Hybrid / Desktop, BlazorWebViews/needs-attentionIssue has more information and needs another lookt/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions