The Firebase Blog contains a post about this exact issue,并提供如何处理的指南。
博文描述了两个步骤:
- 禁用 FirebaseInitProvider
将此添加到 AndroidManifest.xml 以禁用默认初始化代码:
<provider
android:name="com.google.firebase.provider.FirebaseInitProvider"
android:authorities="${applicationId}.firebaseinitprovider"
tools:node="remove"
/>
- 调用 FirebaseApp.initializeApp(Context, FirebaseOptions)
准备好必要的配置后,请自行初始化 Firebase:
FirebaseOptions.Builder builder = new FirebaseOptions.Builder()
.setApplicationId("1:0123456789012:android:0123456789abcdef")
.setApiKey("your_api_key")
.setDatabaseUrl("https://your-app.firebaseio.com")
.setStorageBucket("your-app.appspot.com");
FirebaseApp.initializeApp(this, builder.build());
Google Services Plugin documentation 描述了如何从 JSON 中获取您需要的值:
{YOUR_CLIENT} 是 client 对象,其中包含与您的包名称(应用程序 ID)匹配的 client_info/android_client_info/package_name。
google_app_id:{YOUR_CLIENT}/client_info/mobilesdk_app_id
gcm_defaultSenderId:project_info/project_number
default_web_client_id:{YOUR_CLIENT}/oauth_client/client_id (client_type == 3)
ga_trackingId:{YOUR_CLIENT}/services/analytics-service/analytics_property/tracking_id
firebase_database_url:project_info/firebase_url
google_api_key:{YOUR_CLIENT}/api_key/current_key
google_crash_reporting_api_key:{YOUR_CLIENT}/api_key/current_key