{"record":{"id":"04ac1af13a4c1891","repo":"AvaloniaUI/Avalonia","slug":"unknown-error-avaloniaview-initialization-has-fai","errorCode":null,"errorMessage":"Unknown error: AvaloniaView initialization has failed.","messagePattern":"Unknown error: AvaloniaView initialization has failed\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"critical","filePath":"src/Android/Avalonia.Android/AvaloniaMainActivity.cs","lineNumber":23,"sourceCode":"using Avalonia.Platform;\n\nnamespace Avalonia.Android;\n\npublic class AvaloniaMainActivity : AvaloniaActivity\n{\n    private protected override void InitializeAvaloniaView(object? initialContent)\n    {\n        if (Application is IAndroidApplication application && application.Lifetime is { } lifetime)\n        {\n            initialContent ??= lifetime.MainViewFactory?.Invoke();\n\n            _view = new AvaloniaView(this);\n\n            Content = initialContent;\n        }\n\n        if (_view is null)\n            throw new InvalidOperationException(\"Unknown error: AvaloniaView initialization has failed.\");\n    }\n\n    protected override void OnResume()\n    {\n        base.OnResume();\n\n        if (Avalonia.Application.Current?.TryGetFeature<IActivatableLifetime>()\n            is AndroidActivatableLifetime activatableLifetime)\n        {\n            activatableLifetime.CurrentMainActivity = this;\n        }\n    }\n\n    protected override void OnDestroy()\n    {\n        base.OnDestroy();\n\n        if (Avalonia.Application.Current?.TryGetFeature<IActivatableLifetime>()","sourceCodeStart":5,"sourceCodeEnd":41,"githubUrl":"https://github.com/AvaloniaUI/Avalonia/blob/11c542726898ae954a1ef668c65ec79ec92ab17d/src/Android/Avalonia.Android/AvaloniaMainActivity.cs#L5-L41","documentation":"AvaloniaMainActivity.InitializeAvaloniaView builds _view only when Application is IAndroidApplication with a non-null Lifetime. If that condition is false (Application is null, or is not IAndroidApplication, or Lifetime is null), _view stays null and the method throws. It is a catch-all for 'view init did not happen'.","triggerScenarios":"Application is null (no Avalonia app), Application does not implement IAndroidApplication (custom App type missing the marker), or application.Lifetime is null (app not started as an Android lifetime). Any of these skip the `_view = new AvaloniaView(this)` assignment.","commonSituations":"Forgetting to make the App class implement IAndroidApplication; not calling the Android lifetime setup; AppBuilder.Build() failing earlier leaving Application.Current null; custom AppLifetime not registered.","solutions":["Make your Avalonia App class implement IAndroidApplication (return an IAndroidApplicationLifetime from OnFrameworkInitializationCompleted).","Ensure AppBuilder.UseAndroid() and SetupWithoutStarting()/Start() ran so Application.Current and its Lifetime are set.","If Application.Current is null, fix the earlier AppBuilder error (related to error 34).","Confirm application.Lifetime is the Android lifetime before InitializeAvaloniaView runs."],"exampleFix":"// before\nif (Application is IAndroidApplication application && application.Lifetime is { } lifetime)\n{\n    initialContent ??= lifetime.MainViewFactory?.Invoke();\n    _view = new AvaloniaView(this);\n    Content = initialContent;\n}\nif (_view is null)\n    throw new InvalidOperationException(\"Unknown error: AvaloniaView initialization has failed.\");\n\n// after (fail with the real reason)\nif (Application is null)\n    throw new InvalidOperationException(\"Avalonia Application was not initialized.\");\nif (Application is not IAndroidApplication androidApp)\n    throw new InvalidOperationException($\"App '{Application.GetType().FullName}' must implement IAndroidApplication.\");\nif (androidApp.Lifetime is null)\n    throw new InvalidOperationException(\"Android application lifetime was not created.\");","handlingStrategy":"validation","validationCode":"// make App implement the Android contract\n// public partial class App : Application, IAndroidApplication { ... }","typeGuard":"static bool IsAndroidApp(Avalonia.Application a) => a is IAndroidApplication ia && ia.Lifetime is not null;","tryCatchPattern":"// initialization contract error — fix App/lifetime wiring; surface the specific reason.","preventionTips":["Implement IAndroidApplication on the App class.","Provide a non-null Lifetime in OnFrameworkInitializationCompleted.","Confirm Application.Current is set first (error 34)."],"tags":["android","application-lifecycle","iandroidapplication","activity","platform"],"backgroundTag":null,"analyzedSha":"11c542726898ae954a1ef668c65ec79ec92ab17d","analyzedAt":"2026-08-13T11:57:40.261Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}