title: Manifest merger failed after import a module
body: <p>Hi I am developing a sdk, and when I add these SDK into a app proyect I get the following error:</p>
  
  <blockquote>
    <p>Manifest merger failed : Attribute application@appComponentFactory
    value=(android.support.v4.app.CoreComponentFactory) from
    [com.android.support:support-compat:28.0.0]
    AndroidManifest.xml:22:18-91</p>
  </blockquote>
  
  <pre><code>    is also present at [androidx.core:core:1.0.1] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
      Suggestion: add 'tools:replace="android:appComponentFactory"' to &lt;application&gt; element at AndroidManifest.xml:22:5-125:19 to override.
  </code></pre>
  
  <p>The build.gradle are the followings</p>
  
  <p>App build.gradle</p>
  
  <pre><code>dependencies {
      implementation project(':sdkA')
      implementation project(':sdkB')
  
      implementation 'org.webrtc:google-webrtc:1.0.28032'
      implementation fileTree(dir: 'libs', include: ['*.jar'])
      implementation 'com.android.support:appcompat-v7:28.0.0'
      implementation 'com.android.support:preference-v7:28.0.0'
      implementation 'com.android.support:preference-v14:28.0.0'
      implementation 'com.android.support:design:28.0.0'
      implementation 'com.android.support:support-v4:28.0.0'
      implementation 'com.android.support:gridlayout-v7:28.0.0'
      implementation 'com.android.support:recyclerview-v7:28.0.0'
      implementation 'com.google.android.gms:play-services-auth:16.0.1'
      implementation 'com.google.android.gms:play-services-location:16.0.0'
      implementation 'io.michaelrocks:libphonenumber-android:8.4.1'
      implementation 'com.android.support.constraint:constraint-layout:1.1.3'
      implementation 'com.google.android:flexbox:1.0.0'
      implementation 'com.github.woxthebox:draglistview:1.6.3'
      implementation 'com.balysv:material-ripple:1.0.2'
      implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.16'
  
      implementation('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
          transitive = true
      }
  
      // Google Lifecycle Components
      implementation "android.arch.lifecycle:extensions:1.1.1"
      annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
  }
  </code></pre>
  
  <p>build.gradle of sdkA</p>
  
  <pre><code>dependencies {
      implementation fileTree(dir: 'libs', include: ['*.jar'])
  
      implementation 'org.webrtc:google-webrtc:1.0.28032'
  
      implementation('io.socket:socket.io-client:1.0.0') {
          exclude group: 'org.json', module: 'json'
      }
  
      implementation('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
          transitive = true
      }
  
  
      implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
      implementation 'com.google.android.material:material:1.0.0'
  
  
  
      // Google Lifecycle Components
      implementation "android.arch.lifecycle:extensions:1.1.1"
      annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
  
      implementation 'androidx.appcompat:appcompat:1.0.2'
      testImplementation 'junit:junit:4.12'
      androidTestImplementation 'androidx.test:runner:1.2.0'
      androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
  }
  </code></pre>
  
  <p>build.gradle of sdkB</p>
  
  <pre><code>dependencies {
      implementation "com.android.support:appcompat-v7:27.1.1"
      implementation "com.android.support:recyclerview-v7:27.1.1"
  }
  </code></pre>
  
  <p>How can solve it?</p>
  
  <p>Thanks</p>