title: Duplicate class in firebase-common and jetified-firebase-components with library version from BoM
body: <p>I'm using a selection of Firebase libraries together, so I'm using the BoM in order to ensure that the libraries will work together, here is my gradle.</p>
  <pre><code>implementation platform('com.google.firebase:firebase-bom:25.12.0')
  
  implementation &quot;com.google.firebase:firebase-messaging&quot;
  implementation &quot;com.google.firebase:firebase-ml-vision&quot;
  implementation 'com.google.firebase:firebase-dynamic-links'
  implementation 'com.google.firebase:firebase-config'
  implementation 'com.google.firebase:firebase-installations'
  implementation 'com.google.firebase:firebase-analytics'
  </code></pre>
  <p>Unfortunately, I'm getting errors such as this:</p>
  <blockquote>
  <p>Duplicate class
  com.google.firebase.components.AbstractComponentContainer found in
  modules firebase-common-18.0.0-runtime.jar
  (com.google.firebase:firebase-common:18.0.0) and
  jetified-firebase-components-16.0.0-runtime.jar
  (com.google.firebase:firebase-components:16.0.0)</p>
  </blockquote>
  <p>I can see the following &quot;dependency&quot; help from gradle:</p>
  <pre><code>com.google.firebase:firebase-common:16.0.3 -&gt; 18.0.0
  com.google.firebase:firebase-common:19.3.0 -&gt; 18.0.0
  </code></pre>
  <p>And these dependencies only exist in the <code>implementation</code>s above ^</p>
  <p><code>com.google.firebase:firebase-components:16.0.0</code> is only here:</p>
  <pre><code>+--- com.google.firebase:firebase-config -&gt; 19.2.0
  |    ...
  |    +--- com.google.firebase:firebase-installations:16.3.2
  |    |    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
  |    |    +--- com.google.firebase:firebase-common:19.3.0 -&gt; 18.0.0 (*)
  |    |    +--- com.google.firebase:firebase-components:16.0.0
  </code></pre>
  <p>I get the feeling the problem may be being caused by jetifier but can't be sure.</p>
  <p>I've tried removing both libraries completely but obviously they are used and therefore cause a crash at runtime.</p>
  <p>I understood using the bom would protect me from library conflicts like this..? So I'm wondering if I'm missing something none-version related.</p>