{"record":{"id":"da3e3ba8bd903f27","repo":"AvaloniaUI/Avalonia","slug":"avalonia-application-was-not-initialized-make-sur","errorCode":null,"errorMessage":"Avalonia Application was not initialized. Make sure you have created AvaloniaMainActivity.","messagePattern":"Avalonia Application was not initialized\\. Make sure you have created AvaloniaMainActivity\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"critical","filePath":"src/Android/Avalonia.Android/AvaloniaActivity.cs","lineNumber":209,"sourceCode":"        base.OnActivityResult(requestCode, resultCode, data);\n\n        ActivityResult?.Invoke(requestCode, resultCode, data);\n    }\n\n    [SupportedOSPlatform(\"android23.0\")]\n    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)\n    {\n        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);\n\n        RequestPermissionsResult?.Invoke(requestCode, permissions, grantResults);\n    }\n\n    [MemberNotNull(nameof(_view))]\n    private protected virtual void InitializeAvaloniaView(object? initialContent)\n    {\n        if (Avalonia.Application.Current is null)\n        {\n            throw new InvalidOperationException(\n                \"Avalonia Application was not initialized. Make sure you have created AvaloniaMainActivity.\");\n        }\n\n        _view = new AvaloniaView(this) { Content = initialContent };\n    }\n\n    private void HandleIntent(Intent? intent)\n    {\n        if (intent?.Data is { } androidUri\n            && androidUri.IsAbsolute\n            && Uri.TryCreate(androidUri.ToString(), UriKind.Absolute, out var uri))\n        {\n            if (uri.Scheme == Uri.UriSchemeFile || uri.Scheme == \"content\")\n            {\n                if (AndroidStorageItem.CreateItem(this, androidUri) is { } item)\n                {\n                    _onActivated?.Invoke(this, new FileActivatedEventArgs(new[] { item }));\n                }","sourceCodeStart":191,"sourceCodeEnd":227,"githubUrl":"https://github.com/AvaloniaUI/Avalonia/blob/11c542726898ae954a1ef668c65ec79ec92ab17d/src/Android/Avalonia.Android/AvaloniaActivity.cs#L191-L227","documentation":"InitializeAvaloniaView creates the backing AvaloniaView but first requires the Avalonia Application to exist (Avalonia.Application.Current). A null Current means no Avalonia app instance was built/started yet — typically because the host did not set up an AvaloniaMainActivity that runs AppBuilder. The view cannot be created without the application.","triggerScenarios":"InitializeAvaloniaView being called before AppBuilder.Build().Start() has created Application.Current; using a plain Android Activity (not an AvaloniaActivity/AvaloniaMainActivity) that never wires up the Avalonia app; accessing _view init during a config path that bypasses the app bootstrap.","commonSituations":"Subclassing AvaloniaActivity without an AvaloniaMainActivity that builds the app; calling OnCreate logic before Application is set; multi-activity apps where the launcher activity is not the Avalonia one; AppBuilder.Build() throwing silently earlier.","solutions":["Create an AvaloniaMainActivity whose OnCreate runs AppBuilder.Configure<TApp>().UseAndroid().SetupWithoutStarting().Start() before InitializeAvaloniaView.","Ensure Application.Current is set (call AppBuilder.Build().StartWithDesktopLifetime or SetupWithoutStarting) before InitializeAvaloniaView.","Use AvaloniaMainActivity as the launcher, not a raw Activity.","If AppBuilder.Build() threw, fix that earlier error — Application.Current stays null because of it."],"exampleFix":"// before\nprivate protected override void InitializeAvaloniaView(object? initialContent)\n{\n    if (Avalonia.Application.Current is null)\n        throw new InvalidOperationException(\"Avalonia Application was not initialized. ...\");\n    _view = new AvaloniaView(this) { Content = initialContent };\n}\n\n// after (build the app first in the AvaloniaMainActivity)\nprotected override void OnCreate(Bundle? savedInstanceState)\n{\n    if (Avalonia.Application.Current is null)\n        AppBuilder.Configure<App>().UseAndroid().SetupWithoutStarting();\n    base.OnCreate(savedInstanceState);\n}","handlingStrategy":"validation","validationCode":"// build the Avalonia app before any activity creates a view\nif (Avalonia.Application.Current is null)\n    AppBuilder.Configure<App>().UseAndroid().SetupWithoutStarting();","typeGuard":"static bool AppInitialized => Avalonia.Application.Current is not null;","tryCatchPattern":"// initialization error — fix the bootstrap order; do not silently swallow.","preventionTips":["Use AvaloniaMainActivity and build the app in its OnCreate.","Call SetupWithoutStarting()/Start() before InitializeAvaloniaView.","Inspect earlier AppBuilder exceptions."],"tags":["android","application-lifecycle","appbuilder","activity","platform"],"backgroundTag":null,"analyzedSha":"11c542726898ae954a1ef668c65ec79ec92ab17d","analyzedAt":"2026-08-13T11:57:40.261Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}