<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/take-control-of-your-firebase-init-on-android-ojner0y4k" -->

---
title: Take Control of Your Firebase Init on Android | daily.dev
description: Guidance for Android developers who cannot rely on Firebase's automatic initialization via the Google Services Gradle Plugin - for example when using a custom...
canonical: https://daily.dev/posts/take-control-of-your-firebase-init-on-android-ojner0y4k
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Take Control of Your Firebase Init on Android | daily.dev
og:description: Guidance for Android developers who cannot rely on Firebase's automatic initialization via the Google Services Gradle Plugin - for example when using a custom...
og:url: https://daily.dev/posts/take-control-of-your-firebase-init-on-android-ojner0y4k
og:image: https://api.daily.dev/og/posts/ojner0y4k.png
og:image:alt: Take Control of Your Firebase Init on Android
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Take Control of Your Firebase Init on Android

**[Firebase](https://daily.dev/sources/firebase-blog)** · 3 min read · 0 upvotes · 0 comments

## Summary

Guidance for Android developers who cannot rely on Firebase's automatic initialization via the Google Services Gradle Plugin - for example when using a custom build system like Bazel, or when an app must select its Firebase project at runtime. Explains how to disable the auto-merged FirebaseInitProvider by adding a manifest override with tools:node="remove", and how to manually initialize Firebase using FirebaseApp.initializeApp(Context, FirebaseOptions) with values pulled from google-services.json.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2017/03/take-control-of-your-firebase-init-on>

## Questions this post answers

### How do I disable FirebaseInitProvider so I can manually initialize Firebase on Android?

Override the FirebaseInitProvider entry in your app's AndroidManifest.xml using a node marker that sets tools:node to "remove", which prevents Android build tools from merging the provider into your app. You must also declare the tools namespace in the manifest root tag if it isn't already present. After removing it, call FirebaseApp.initializeApp() yourself.

_daily.dev surfaces practical Firebase and Android build configuration guides like this one for developers customizing their init flow._

### How do I manually initialize Firebase with FirebaseOptions instead of google-services.json?

Call FirebaseApp.initializeApp(Context, FirebaseOptions), building a FirebaseOptions object via its Builder with setApplicationId, setApiKey, setDatabaseUrl, and setStorageBucket, using values pulled from your google-services.json file. This lets you initialize Firebase without the Google Services Gradle plugin, useful for custom build systems like Bazel or runtime project selection.

_Developers switching Firebase projects at runtime can find these initialization patterns curated on daily.dev._

## Similar posts on daily.dev

- [24/28: Code Runs Before Your Application.onCreate: Here’s What](https://daily.dev/posts/24-28-code-runs-before-your-application-oncreate-here-s-what-5ze1roro5) · Medium · 0 upvotes · 0 comments
- [Build intelligent Android apps: Cloud and hybrid inference](https://daily.dev/posts/build-intelligent-android-apps-cloud-and-hybrid-inference-eyctih4y9) · Android Developers Blog · 0 upvotes · 0 comments
- [Using Flutter with Firebase: A Developer's Guide](https://daily.dev/posts/using-flutter-with-firebase-a-developer-s-guide-jbpavk3vl) · Flutter Community · 0 upvotes · 0 comments
- [Kotlin / Wasm — Auth part 1: Google Sign in](https://daily.dev/posts/kotlin-wasm-auth-part-1-google-sign-in-dp1b4k1zm) · ProAndroidDev · 0 upvotes · 0 comments
- [Medium](https://daily.dev/posts/medium-sntfm8mrk) · Medium · 1 upvotes · 0 comments

---

Tags: [#android](https://daily.dev/tags/android), [#firebase](https://daily.dev/tags/firebase), [#gradle](https://daily.dev/tags/gradle), [#build-systems](https://daily.dev/tags/build-systems)

[View this post on daily.dev](https://daily.dev/posts/take-control-of-your-firebase-init-on-android-ojner0y4k)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Take Control of Your Firebase Init on Android","url":"https://daily.dev/posts/take-control-of-your-firebase-init-on-android-ojner0y4k","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/take-control-of-your-firebase-init-on-android-ojner0y4k"},"datePublished":"2026-08-23T12:20:50.675Z","dateModified":"2026-08-23T12:34:05.704Z","description":"Guidance for Android developers who cannot rely on Firebase's automatic initialization via the Google Services Gradle Plugin - for example when using a custom...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/take-control-of-your-firebase-init-on-android-ojner0y4k","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"android,firebase,gradle,build-systems","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"Take Control of Your Firebase Init on Android"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/take-control-of-your-firebase-init-on-android-ojner0y4k#faq","mainEntity":[{"@type":"Question","name":"How do I disable FirebaseInitProvider so I can manually initialize Firebase on Android?","acceptedAnswer":{"@type":"Answer","text":"Override the FirebaseInitProvider entry in your app's AndroidManifest.xml using a node marker that sets tools:node to \"remove\", which prevents Android build tools from merging the provider into your app. You must also declare the tools namespace in the manifest root tag if it isn't already present. After removing it, call FirebaseApp.initializeApp() yourself. daily.dev surfaces practical Firebase and Android build configuration guides like this one for developers customizing their init flow."}},{"@type":"Question","name":"How do I manually initialize Firebase with FirebaseOptions instead of google-services.json?","acceptedAnswer":{"@type":"Answer","text":"Call FirebaseApp.initializeApp(Context, FirebaseOptions), building a FirebaseOptions object via its Builder with setApplicationId, setApiKey, setDatabaseUrl, and setStorageBucket, using values pulled from your google-services.json file. This lets you initialize Firebase without the Google Services Gradle plugin, useful for custom build systems like Bazel or runtime project selection. Developers switching Firebase projects at runtime can find these initialization patterns curated on daily.dev."}}]}
```

