Errors adding dependency with react-native












0














I'm creating an application using react-native. So far I have implemented a few modules like react-native-camera and react-native-maps.



Everything was working fine until I tried to implement react-native-push-notification.



I followed their implementation using this tutorial, but now, even though the app builds succesfully, it crashes on start up.



This is my logcat (It's actually cropped 'cause it wouldn't fit here)



11-19 18:29:15.419 29371 29456 I art     : Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.maps.model.Cap>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/safeparcel/zza;
11-19 18:29:15.419 29371 29456 I art : at java.util.List com.airbnb.android.react.maps.MapsPackage.createViewManagers(com.facebook.react.bridge.ReactApplicationContext) (MapsPackage.java:36)
11-19 18:29:15.419 29371 29456 I art : at java.util.List com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(com.facebook.react.bridge.ReactApplicationContext) (ReactInstanceManager.java:753)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.createUIManager(com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:168)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.access$200(com.facebook.react.CoreModulesPackage, com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:52)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModule com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:126)
11-19 18:29:15.419 29371 29456 I art : at java.lang.Object com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:123)
11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.NativeModuleRegistryBuilder.processPackage(com.facebook.react.ReactPackage) (NativeModuleRegistryBuilder.java:61)
11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager.processPackage(com.facebook.react.ReactPackage, com.facebook.react.NativeModuleRegistryBuilder) (ReactInstanceManager.java:1171)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModuleRegistry com.facebook.react.ReactInstanceManager.processPackages(com.facebook.react.bridge.ReactApplicationContext, java.util.List, boolean) (ReactInstanceManager.java:1141)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.createReactContext(com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:1083)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.access$900(com.facebook.react.ReactInstanceManager, com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:116)
11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager$5.run() (ReactInstanceManager.java:913)
11-19 18:29:15.419 29371 29456 I art : at void java.lang.Thread.run() (Thread.java:762)
11-19 18:29:15.419 29371 29456 I art : Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.safeparcel.zza" on path: DexPathList[[zip file "/data/app/com.dpassapp-2/base.apk"],nativeLibraryDirectories=[/data/app/com.dpassapp-2/lib/arm, /data/app/com.dpassapp-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
11-19 18:29:15.419 29371 29456 I art : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
11-19 18:29:15.419 29371 29456 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
11-19 18:29:15.419 29371 29456 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
11-19 18:29:15.419 29371 29456 I art : at java.util.List com.airbnb.android.react.maps.MapsPackage.createViewManagers(com.facebook.react.bridge.ReactApplicationContext) (MapsPackage.java:36)
11-19 18:29:15.419 29371 29456 I art : at java.util.List com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(com.facebook.react.bridge.ReactApplicationContext) (ReactInstanceManager.java:753)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.createUIManager(com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:168)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.access$200(com.facebook.react.CoreModulesPackage, com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:52)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModule com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:126)
11-19 18:29:15.419 29371 29456 I art : at java.lang.Object com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:123)
11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.NativeModuleRegistryBuilder.processPackage(com.facebook.react.ReactPackage) (NativeModuleRegistryBuilder.java:61)
11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager.processPackage(com.facebook.react.ReactPackage, com.facebook.react.NativeModuleRegistryBuilder) (ReactInstanceManager.java:1171)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModuleRegistry com.facebook.react.ReactInstanceManager.processPackages(com.facebook.react.bridge.ReactApplicationContext, java.util.List, boolean) (ReactInstanceManager.java:1141)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.createReactContext(com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:1083)
11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.access$900(com.facebook.react.ReactInstanceManager, com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:116)
11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager$5.run() (ReactInstanceManager.java:913)
11-19 18:29:15.419 29371 29456 I art : at void java.lang.Thread.run() (Thread.java:762)


Searching online I found that this could be a dependency version conflict. So I checked my dependency tree and noticed that there was another module I was using that also uses com.google.android.gms:play-services-gcm, but in a different version. So I changed the version in my application level build.gradle to match the other version, but still I get the same error.



This is the dependecy tree from my project:



releaseRuntimeClasspath - Resolved configuration for runtime for variant: release
+--- com.android.support:appcompat-v7:26.1.0 -> 27.1.1
| +--- com.android.support:support-annotations:27.1.1
| +--- com.android.support:support-core-utils:27.1.1
| | +--- com.android.support:support-annotations:27.1.1
| | --- com.android.support:support-compat:27.1.1
| | +--- com.android.support:support-annotations:27.1.1
| | --- android.arch.lifecycle:runtime:1.1.0
| | +--- android.arch.lifecycle:common:1.1.0
| | --- android.arch.core:common:1.1.0
| +--- com.android.support:support-fragment:27.1.1
| | +--- com.android.support:support-compat:27.1.1 (*)
| | +--- com.android.support:support-core-ui:27.1.1
| | | +--- com.android.support:support-annotations:27.1.1
| | | +--- com.android.support:support-compat:27.1.1 (*)
| | | --- com.android.support:support-core-utils:27.1.1 (*)
| | +--- com.android.support:support-core-utils:27.1.1 (*)
| | +--- com.android.support:support-annotations:27.1.1
| | +--- android.arch.lifecycle:livedata-core:1.1.0
| | | +--- android.arch.lifecycle:common:1.1.0
| | | +--- android.arch.core:common:1.1.0
| | | --- android.arch.core:runtime:1.1.0
| | | --- android.arch.core:common:1.1.0
| | --- android.arch.lifecycle:viewmodel:1.1.0
| +--- com.android.support:support-vector-drawable:27.1.1
| | +--- com.android.support:support-annotations:27.1.1
| | --- com.android.support:support-compat:27.1.1 (*)
| --- com.android.support:animated-vector-drawable:27.1.1
| +--- com.android.support:support-vector-drawable:27.1.1 (*)
| --- com.android.support:support-core-ui:27.1.1 (*)
+--- com.facebook.react:react-native:+ -> 0.57.4
| +--- com.facebook.infer.annotation:infer-annotation:0.11.2
| | --- com.google.code.findbugs:jsr305:3.0.1 -> 3.0.2
| +--- javax.inject:javax.inject:1
| +--- com.android.support:appcompat-v7:27.1.1 (*)
| +--- com.facebook.fresco:fresco:1.10.0
| | +--- com.facebook.fresco:fbcore:1.10.0
| | +--- com.facebook.fresco:drawee:1.10.0
| | | +--- com.facebook.fresco:fbcore:1.10.0
| | | --- com.facebook.fresco:imagepipeline:1.10.0
| | | +--- com.facebook.fresco:imagepipeline-base:1.10.0
| | | | +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
| | | | +--- com.parse.bolts:bolts-tasks:1.4.0
| | | | --- com.facebook.fresco:fbcore:1.10.0
| | | +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
| | | +--- com.parse.bolts:bolts-tasks:1.4.0
| | | --- com.facebook.fresco:fbcore:1.10.0
| | +--- com.facebook.fresco:imagepipeline:1.10.0 (*)
| | --- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
| +--- com.facebook.fresco:imagepipeline-okhttp3:1.10.0
| | +--- com.squareup.okhttp3:okhttp:3.10.0 -> 3.11.0
| | | --- com.squareup.okio:okio:1.14.0
| | +--- com.facebook.fresco:fbcore:1.10.0
| | --- com.facebook.fresco:imagepipeline:1.10.0 (*)
| +--- com.facebook.soloader:soloader:0.5.1
| +--- com.google.code.findbugs:jsr305:3.0.2
| +--- com.squareup.okhttp3:okhttp:3.11.0 (*)
| +--- com.squareup.okhttp3:okhttp-urlconnection:3.11.0
| | --- com.squareup.okhttp3:okhttp:3.11.0 (*)
| +--- com.squareup.okio:okio:1.14.0
| --- org.webkit:android-jsc:r174650
+--- project :react-native-ble-manager
| --- com.facebook.react:react-native:[0.30.0,) -> 0.57.4 (*)
+--- project :react-native-camera
| +--- com.google.zxing:core:3.3.0
| +--- com.drewnoakes:metadata-extractor:2.9.1
| | --- com.adobe.xmp:xmpcore:5.1.2
| +--- com.google.android.gms:play-services-vision:11.0.4
| | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1
| | | +--- com.google.android.gms:play-services-basement:16.0.1
| | | | --- com.android.support:support-v4:26.1.0
| | | | +--- com.android.support:support-compat:26.1.0 -> 27.1.1 (*)
| | | | +--- com.android.support:support-media-compat:26.1.0
| | | | | +--- com.android.support:support-annotations:26.1.0 -> 27.1.1
| | | | | --- com.android.support:support-compat:26.1.0 -> 27.1.1 (*)
| | | | +--- com.android.support:support-core-utils:26.1.0 -> 27.1.1 (*)
| | | | +--- com.android.support:support-core-ui:26.1.0 -> 27.1.1 (*)
| | | | --- com.android.support:support-fragment:26.1.0 -> 27.1.1 (*)
| | | --- com.google.android.gms:play-services-tasks:16.0.1
| | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
| | +--- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
| | --- com.google.android.gms:play-services-vision-common:[11.0.4] -> 11.0.4
| | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
| | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
| +--- com.android.support:exifinterface:26.1.0
| | --- com.android.support:support-annotations:26.1.0 -> 27.1.1
| +--- com.android.support:support-annotations:26.1.0 -> 27.1.1
| --- com.android.support:support-v4:26.1.0 (*)
+--- project :react-native-vector-icons
| --- com.facebook.react:react-native:+ -> 0.57.4 (*)
+--- project :react-native-maps
| +--- com.google.android.gms:play-services-base:11.0.4 -> 16.0.1 (*)
| +--- com.google.android.gms:play-services-maps:11.0.4
| | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
| | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
| --- com.google.maps.android:android-maps-utils:0.5+ -> 0.5
+--- project :react-native-push-notification
| +--- com.android.support:appcompat-v7:26.1.0 -> 27.1.1 (*)
| +--- com.facebook.react:react-native:+ -> 0.57.4 (*)
| +--- com.google.android.gms:play-services-gcm:11.0.4
| | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
| | +--- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
| | --- com.google.android.gms:play-services-iid:[11.0.4] -> 11.0.4
| | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
| | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
| +--- me.leolin:ShortcutBadger:1.1.8
| --- com.google.firebase:firebase-messaging:+ -> 17.3.4
| +--- com.google.android.gms:play-services-basement:16.0.1 (*)
| +--- com.google.android.gms:play-services-tasks:16.0.1 (*)
| +--- com.google.firebase:firebase-common:16.0.3
| | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
| | --- com.google.android.gms:play-services-tasks:16.0.1 (*)
| +--- com.google.firebase:firebase-iid:[17.0.4] -> 17.0.4
| | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
| | +--- com.google.android.gms:play-services-stats:16.0.1
| | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
| | +--- com.google.android.gms:play-services-tasks:16.0.1 (*)
| | +--- com.google.firebase:firebase-common:16.0.3 (*)
| | --- com.google.firebase:firebase-iid-interop:16.0.1
| | +--- com.google.android.gms:play-services-base:16.0.1 (*)
| | --- com.google.android.gms:play-services-basement:16.0.1 (*)
| --- com.google.firebase:firebase-measurement-connector:17.0.1
| --- com.google.android.gms:play-services-basement:16.0.1 (*)
+--- com.google.android.gms:play-services-gcm:11.0.4 (*)
--- project :react-native-barcode-scanner-google
+--- com.google.android.gms:play-services-vision:11.0.4 (*)
--- com.facebook.react:react-native:0.20.+ -> 0.57.4 (*)


I see that there are some mismatching versions, but I don't really know how to correctly track or correct them.



This is my build.gradle:



// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
ext {
buildToolsVersion = "27.0.3"
minSdkVersion = 19
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "27.1.1"
}
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
}
}

allprojects {
repositories {
google()
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}

ext {
compileSdkVersion = 26
targetSdkVersion = 26
buildToolsVersion = "26.0.2"
supportLibVersion = "26.1.0"
googlePlayServicesVersion = "11.0.4"
androidMapsUtilsVersion = "0.5+"
}

task wrapper(type: Wrapper) {
gradleVersion = '4.4'
distributionUrl = distributionUrl.replace("bin", "all")
}

// Application level
apply plugin: "com.android.application"

import com.android.build.OutputFile

project.ext.react = [
entryFile: "index.js"
]

apply from: "../../node_modules/react-native/react.gradle"

def enableSeparateBuildPerCPUArchitecture = false

def enableProguardInReleaseBuilds = false

android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion

defaultConfig {
applicationId "com.dpassapp"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}

dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules

implementation project(':react-native-ble-manager')
implementation project(':react-native-camera')
implementation project(':react-native-vector-icons')
implementation project(':react-native-maps')

implementation project(':react-native-push-notification')
implementation ('com.google.android.gms:play-services-gcm:11.0.4') {
force = true;
}

implementation project(':react-native-barcode-scanner-google')
}

// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}


Does anyone know what could I be missing? Or how to properly debug depency version conflicts?










share|improve this question





























    0














    I'm creating an application using react-native. So far I have implemented a few modules like react-native-camera and react-native-maps.



    Everything was working fine until I tried to implement react-native-push-notification.



    I followed their implementation using this tutorial, but now, even though the app builds succesfully, it crashes on start up.



    This is my logcat (It's actually cropped 'cause it wouldn't fit here)



    11-19 18:29:15.419 29371 29456 I art     : Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.maps.model.Cap>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/safeparcel/zza;
    11-19 18:29:15.419 29371 29456 I art : at java.util.List com.airbnb.android.react.maps.MapsPackage.createViewManagers(com.facebook.react.bridge.ReactApplicationContext) (MapsPackage.java:36)
    11-19 18:29:15.419 29371 29456 I art : at java.util.List com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(com.facebook.react.bridge.ReactApplicationContext) (ReactInstanceManager.java:753)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.createUIManager(com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:168)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.access$200(com.facebook.react.CoreModulesPackage, com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:52)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModule com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:126)
    11-19 18:29:15.419 29371 29456 I art : at java.lang.Object com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:123)
    11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.NativeModuleRegistryBuilder.processPackage(com.facebook.react.ReactPackage) (NativeModuleRegistryBuilder.java:61)
    11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager.processPackage(com.facebook.react.ReactPackage, com.facebook.react.NativeModuleRegistryBuilder) (ReactInstanceManager.java:1171)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModuleRegistry com.facebook.react.ReactInstanceManager.processPackages(com.facebook.react.bridge.ReactApplicationContext, java.util.List, boolean) (ReactInstanceManager.java:1141)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.createReactContext(com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:1083)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.access$900(com.facebook.react.ReactInstanceManager, com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:116)
    11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager$5.run() (ReactInstanceManager.java:913)
    11-19 18:29:15.419 29371 29456 I art : at void java.lang.Thread.run() (Thread.java:762)
    11-19 18:29:15.419 29371 29456 I art : Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.safeparcel.zza" on path: DexPathList[[zip file "/data/app/com.dpassapp-2/base.apk"],nativeLibraryDirectories=[/data/app/com.dpassapp-2/lib/arm, /data/app/com.dpassapp-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
    11-19 18:29:15.419 29371 29456 I art : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
    11-19 18:29:15.419 29371 29456 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
    11-19 18:29:15.419 29371 29456 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
    11-19 18:29:15.419 29371 29456 I art : at java.util.List com.airbnb.android.react.maps.MapsPackage.createViewManagers(com.facebook.react.bridge.ReactApplicationContext) (MapsPackage.java:36)
    11-19 18:29:15.419 29371 29456 I art : at java.util.List com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(com.facebook.react.bridge.ReactApplicationContext) (ReactInstanceManager.java:753)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.createUIManager(com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:168)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.access$200(com.facebook.react.CoreModulesPackage, com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:52)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModule com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:126)
    11-19 18:29:15.419 29371 29456 I art : at java.lang.Object com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:123)
    11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.NativeModuleRegistryBuilder.processPackage(com.facebook.react.ReactPackage) (NativeModuleRegistryBuilder.java:61)
    11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager.processPackage(com.facebook.react.ReactPackage, com.facebook.react.NativeModuleRegistryBuilder) (ReactInstanceManager.java:1171)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModuleRegistry com.facebook.react.ReactInstanceManager.processPackages(com.facebook.react.bridge.ReactApplicationContext, java.util.List, boolean) (ReactInstanceManager.java:1141)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.createReactContext(com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:1083)
    11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.access$900(com.facebook.react.ReactInstanceManager, com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:116)
    11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager$5.run() (ReactInstanceManager.java:913)
    11-19 18:29:15.419 29371 29456 I art : at void java.lang.Thread.run() (Thread.java:762)


    Searching online I found that this could be a dependency version conflict. So I checked my dependency tree and noticed that there was another module I was using that also uses com.google.android.gms:play-services-gcm, but in a different version. So I changed the version in my application level build.gradle to match the other version, but still I get the same error.



    This is the dependecy tree from my project:



    releaseRuntimeClasspath - Resolved configuration for runtime for variant: release
    +--- com.android.support:appcompat-v7:26.1.0 -> 27.1.1
    | +--- com.android.support:support-annotations:27.1.1
    | +--- com.android.support:support-core-utils:27.1.1
    | | +--- com.android.support:support-annotations:27.1.1
    | | --- com.android.support:support-compat:27.1.1
    | | +--- com.android.support:support-annotations:27.1.1
    | | --- android.arch.lifecycle:runtime:1.1.0
    | | +--- android.arch.lifecycle:common:1.1.0
    | | --- android.arch.core:common:1.1.0
    | +--- com.android.support:support-fragment:27.1.1
    | | +--- com.android.support:support-compat:27.1.1 (*)
    | | +--- com.android.support:support-core-ui:27.1.1
    | | | +--- com.android.support:support-annotations:27.1.1
    | | | +--- com.android.support:support-compat:27.1.1 (*)
    | | | --- com.android.support:support-core-utils:27.1.1 (*)
    | | +--- com.android.support:support-core-utils:27.1.1 (*)
    | | +--- com.android.support:support-annotations:27.1.1
    | | +--- android.arch.lifecycle:livedata-core:1.1.0
    | | | +--- android.arch.lifecycle:common:1.1.0
    | | | +--- android.arch.core:common:1.1.0
    | | | --- android.arch.core:runtime:1.1.0
    | | | --- android.arch.core:common:1.1.0
    | | --- android.arch.lifecycle:viewmodel:1.1.0
    | +--- com.android.support:support-vector-drawable:27.1.1
    | | +--- com.android.support:support-annotations:27.1.1
    | | --- com.android.support:support-compat:27.1.1 (*)
    | --- com.android.support:animated-vector-drawable:27.1.1
    | +--- com.android.support:support-vector-drawable:27.1.1 (*)
    | --- com.android.support:support-core-ui:27.1.1 (*)
    +--- com.facebook.react:react-native:+ -> 0.57.4
    | +--- com.facebook.infer.annotation:infer-annotation:0.11.2
    | | --- com.google.code.findbugs:jsr305:3.0.1 -> 3.0.2
    | +--- javax.inject:javax.inject:1
    | +--- com.android.support:appcompat-v7:27.1.1 (*)
    | +--- com.facebook.fresco:fresco:1.10.0
    | | +--- com.facebook.fresco:fbcore:1.10.0
    | | +--- com.facebook.fresco:drawee:1.10.0
    | | | +--- com.facebook.fresco:fbcore:1.10.0
    | | | --- com.facebook.fresco:imagepipeline:1.10.0
    | | | +--- com.facebook.fresco:imagepipeline-base:1.10.0
    | | | | +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
    | | | | +--- com.parse.bolts:bolts-tasks:1.4.0
    | | | | --- com.facebook.fresco:fbcore:1.10.0
    | | | +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
    | | | +--- com.parse.bolts:bolts-tasks:1.4.0
    | | | --- com.facebook.fresco:fbcore:1.10.0
    | | +--- com.facebook.fresco:imagepipeline:1.10.0 (*)
    | | --- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
    | +--- com.facebook.fresco:imagepipeline-okhttp3:1.10.0
    | | +--- com.squareup.okhttp3:okhttp:3.10.0 -> 3.11.0
    | | | --- com.squareup.okio:okio:1.14.0
    | | +--- com.facebook.fresco:fbcore:1.10.0
    | | --- com.facebook.fresco:imagepipeline:1.10.0 (*)
    | +--- com.facebook.soloader:soloader:0.5.1
    | +--- com.google.code.findbugs:jsr305:3.0.2
    | +--- com.squareup.okhttp3:okhttp:3.11.0 (*)
    | +--- com.squareup.okhttp3:okhttp-urlconnection:3.11.0
    | | --- com.squareup.okhttp3:okhttp:3.11.0 (*)
    | +--- com.squareup.okio:okio:1.14.0
    | --- org.webkit:android-jsc:r174650
    +--- project :react-native-ble-manager
    | --- com.facebook.react:react-native:[0.30.0,) -> 0.57.4 (*)
    +--- project :react-native-camera
    | +--- com.google.zxing:core:3.3.0
    | +--- com.drewnoakes:metadata-extractor:2.9.1
    | | --- com.adobe.xmp:xmpcore:5.1.2
    | +--- com.google.android.gms:play-services-vision:11.0.4
    | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1
    | | | +--- com.google.android.gms:play-services-basement:16.0.1
    | | | | --- com.android.support:support-v4:26.1.0
    | | | | +--- com.android.support:support-compat:26.1.0 -> 27.1.1 (*)
    | | | | +--- com.android.support:support-media-compat:26.1.0
    | | | | | +--- com.android.support:support-annotations:26.1.0 -> 27.1.1
    | | | | | --- com.android.support:support-compat:26.1.0 -> 27.1.1 (*)
    | | | | +--- com.android.support:support-core-utils:26.1.0 -> 27.1.1 (*)
    | | | | +--- com.android.support:support-core-ui:26.1.0 -> 27.1.1 (*)
    | | | | --- com.android.support:support-fragment:26.1.0 -> 27.1.1 (*)
    | | | --- com.google.android.gms:play-services-tasks:16.0.1
    | | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
    | | +--- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
    | | --- com.google.android.gms:play-services-vision-common:[11.0.4] -> 11.0.4
    | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
    | | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
    | +--- com.android.support:exifinterface:26.1.0
    | | --- com.android.support:support-annotations:26.1.0 -> 27.1.1
    | +--- com.android.support:support-annotations:26.1.0 -> 27.1.1
    | --- com.android.support:support-v4:26.1.0 (*)
    +--- project :react-native-vector-icons
    | --- com.facebook.react:react-native:+ -> 0.57.4 (*)
    +--- project :react-native-maps
    | +--- com.google.android.gms:play-services-base:11.0.4 -> 16.0.1 (*)
    | +--- com.google.android.gms:play-services-maps:11.0.4
    | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
    | | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
    | --- com.google.maps.android:android-maps-utils:0.5+ -> 0.5
    +--- project :react-native-push-notification
    | +--- com.android.support:appcompat-v7:26.1.0 -> 27.1.1 (*)
    | +--- com.facebook.react:react-native:+ -> 0.57.4 (*)
    | +--- com.google.android.gms:play-services-gcm:11.0.4
    | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
    | | +--- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
    | | --- com.google.android.gms:play-services-iid:[11.0.4] -> 11.0.4
    | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
    | | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
    | +--- me.leolin:ShortcutBadger:1.1.8
    | --- com.google.firebase:firebase-messaging:+ -> 17.3.4
    | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
    | +--- com.google.android.gms:play-services-tasks:16.0.1 (*)
    | +--- com.google.firebase:firebase-common:16.0.3
    | | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
    | | --- com.google.android.gms:play-services-tasks:16.0.1 (*)
    | +--- com.google.firebase:firebase-iid:[17.0.4] -> 17.0.4
    | | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
    | | +--- com.google.android.gms:play-services-stats:16.0.1
    | | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
    | | +--- com.google.android.gms:play-services-tasks:16.0.1 (*)
    | | +--- com.google.firebase:firebase-common:16.0.3 (*)
    | | --- com.google.firebase:firebase-iid-interop:16.0.1
    | | +--- com.google.android.gms:play-services-base:16.0.1 (*)
    | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
    | --- com.google.firebase:firebase-measurement-connector:17.0.1
    | --- com.google.android.gms:play-services-basement:16.0.1 (*)
    +--- com.google.android.gms:play-services-gcm:11.0.4 (*)
    --- project :react-native-barcode-scanner-google
    +--- com.google.android.gms:play-services-vision:11.0.4 (*)
    --- com.facebook.react:react-native:0.20.+ -> 0.57.4 (*)


    I see that there are some mismatching versions, but I don't really know how to correctly track or correct them.



    This is my build.gradle:



    // Top-level build file where you can add configuration options common to all sub-projects/modules.

    buildscript {
    ext {
    buildToolsVersion = "27.0.3"
    minSdkVersion = 19
    compileSdkVersion = 27
    targetSdkVersion = 26
    supportLibVersion = "27.1.1"
    }
    repositories {
    google()
    jcenter()
    }
    dependencies {
    classpath 'com.android.tools.build:gradle:3.1.4'
    }
    }

    allprojects {
    repositories {
    google()
    mavenLocal()
    jcenter()
    maven {
    // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
    url "$rootDir/../node_modules/react-native/android"
    }
    }
    }

    ext {
    compileSdkVersion = 26
    targetSdkVersion = 26
    buildToolsVersion = "26.0.2"
    supportLibVersion = "26.1.0"
    googlePlayServicesVersion = "11.0.4"
    androidMapsUtilsVersion = "0.5+"
    }

    task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
    }

    // Application level
    apply plugin: "com.android.application"

    import com.android.build.OutputFile

    project.ext.react = [
    entryFile: "index.js"
    ]

    apply from: "../../node_modules/react-native/react.gradle"

    def enableSeparateBuildPerCPUArchitecture = false

    def enableProguardInReleaseBuilds = false

    android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
    applicationId "com.dpassapp"
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode 1
    versionName "1.0"
    ndk {
    abiFilters "armeabi-v7a", "x86"
    }
    }
    splits {
    abi {
    reset()
    enable enableSeparateBuildPerCPUArchitecture
    universalApk false // If true, also generate a universal APK
    include "armeabi-v7a", "x86"
    }
    }
    buildTypes {
    release {
    minifyEnabled enableProguardInReleaseBuilds
    proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    }
    }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
    variant.outputs.each { output ->
    // For each separate APK per architecture, set a unique version code as described here:
    // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
    def versionCodes = ["armeabi-v7a":1, "x86":2]
    def abi = output.getFilter(OutputFile.ABI)
    if (abi != null) { // null for the universal-debug, universal-release variants
    output.versionCodeOverride =
    versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
    }
    }
    }
    }

    dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    implementation "com.facebook.react:react-native:+" // From node_modules

    implementation project(':react-native-ble-manager')
    implementation project(':react-native-camera')
    implementation project(':react-native-vector-icons')
    implementation project(':react-native-maps')

    implementation project(':react-native-push-notification')
    implementation ('com.google.android.gms:play-services-gcm:11.0.4') {
    force = true;
    }

    implementation project(':react-native-barcode-scanner-google')
    }

    // Run this once to be able to run the application with BUCK
    // puts all compile dependencies into folder libs for BUCK to use
    task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
    }


    Does anyone know what could I be missing? Or how to properly debug depency version conflicts?










    share|improve this question



























      0












      0








      0







      I'm creating an application using react-native. So far I have implemented a few modules like react-native-camera and react-native-maps.



      Everything was working fine until I tried to implement react-native-push-notification.



      I followed their implementation using this tutorial, but now, even though the app builds succesfully, it crashes on start up.



      This is my logcat (It's actually cropped 'cause it wouldn't fit here)



      11-19 18:29:15.419 29371 29456 I art     : Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.maps.model.Cap>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/safeparcel/zza;
      11-19 18:29:15.419 29371 29456 I art : at java.util.List com.airbnb.android.react.maps.MapsPackage.createViewManagers(com.facebook.react.bridge.ReactApplicationContext) (MapsPackage.java:36)
      11-19 18:29:15.419 29371 29456 I art : at java.util.List com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(com.facebook.react.bridge.ReactApplicationContext) (ReactInstanceManager.java:753)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.createUIManager(com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:168)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.access$200(com.facebook.react.CoreModulesPackage, com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:52)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModule com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:126)
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Object com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:123)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.NativeModuleRegistryBuilder.processPackage(com.facebook.react.ReactPackage) (NativeModuleRegistryBuilder.java:61)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager.processPackage(com.facebook.react.ReactPackage, com.facebook.react.NativeModuleRegistryBuilder) (ReactInstanceManager.java:1171)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModuleRegistry com.facebook.react.ReactInstanceManager.processPackages(com.facebook.react.bridge.ReactApplicationContext, java.util.List, boolean) (ReactInstanceManager.java:1141)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.createReactContext(com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:1083)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.access$900(com.facebook.react.ReactInstanceManager, com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:116)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager$5.run() (ReactInstanceManager.java:913)
      11-19 18:29:15.419 29371 29456 I art : at void java.lang.Thread.run() (Thread.java:762)
      11-19 18:29:15.419 29371 29456 I art : Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.safeparcel.zza" on path: DexPathList[[zip file "/data/app/com.dpassapp-2/base.apk"],nativeLibraryDirectories=[/data/app/com.dpassapp-2/lib/arm, /data/app/com.dpassapp-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
      11-19 18:29:15.419 29371 29456 I art : at java.util.List com.airbnb.android.react.maps.MapsPackage.createViewManagers(com.facebook.react.bridge.ReactApplicationContext) (MapsPackage.java:36)
      11-19 18:29:15.419 29371 29456 I art : at java.util.List com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(com.facebook.react.bridge.ReactApplicationContext) (ReactInstanceManager.java:753)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.createUIManager(com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:168)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.access$200(com.facebook.react.CoreModulesPackage, com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:52)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModule com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:126)
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Object com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:123)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.NativeModuleRegistryBuilder.processPackage(com.facebook.react.ReactPackage) (NativeModuleRegistryBuilder.java:61)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager.processPackage(com.facebook.react.ReactPackage, com.facebook.react.NativeModuleRegistryBuilder) (ReactInstanceManager.java:1171)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModuleRegistry com.facebook.react.ReactInstanceManager.processPackages(com.facebook.react.bridge.ReactApplicationContext, java.util.List, boolean) (ReactInstanceManager.java:1141)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.createReactContext(com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:1083)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.access$900(com.facebook.react.ReactInstanceManager, com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:116)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager$5.run() (ReactInstanceManager.java:913)
      11-19 18:29:15.419 29371 29456 I art : at void java.lang.Thread.run() (Thread.java:762)


      Searching online I found that this could be a dependency version conflict. So I checked my dependency tree and noticed that there was another module I was using that also uses com.google.android.gms:play-services-gcm, but in a different version. So I changed the version in my application level build.gradle to match the other version, but still I get the same error.



      This is the dependecy tree from my project:



      releaseRuntimeClasspath - Resolved configuration for runtime for variant: release
      +--- com.android.support:appcompat-v7:26.1.0 -> 27.1.1
      | +--- com.android.support:support-annotations:27.1.1
      | +--- com.android.support:support-core-utils:27.1.1
      | | +--- com.android.support:support-annotations:27.1.1
      | | --- com.android.support:support-compat:27.1.1
      | | +--- com.android.support:support-annotations:27.1.1
      | | --- android.arch.lifecycle:runtime:1.1.0
      | | +--- android.arch.lifecycle:common:1.1.0
      | | --- android.arch.core:common:1.1.0
      | +--- com.android.support:support-fragment:27.1.1
      | | +--- com.android.support:support-compat:27.1.1 (*)
      | | +--- com.android.support:support-core-ui:27.1.1
      | | | +--- com.android.support:support-annotations:27.1.1
      | | | +--- com.android.support:support-compat:27.1.1 (*)
      | | | --- com.android.support:support-core-utils:27.1.1 (*)
      | | +--- com.android.support:support-core-utils:27.1.1 (*)
      | | +--- com.android.support:support-annotations:27.1.1
      | | +--- android.arch.lifecycle:livedata-core:1.1.0
      | | | +--- android.arch.lifecycle:common:1.1.0
      | | | +--- android.arch.core:common:1.1.0
      | | | --- android.arch.core:runtime:1.1.0
      | | | --- android.arch.core:common:1.1.0
      | | --- android.arch.lifecycle:viewmodel:1.1.0
      | +--- com.android.support:support-vector-drawable:27.1.1
      | | +--- com.android.support:support-annotations:27.1.1
      | | --- com.android.support:support-compat:27.1.1 (*)
      | --- com.android.support:animated-vector-drawable:27.1.1
      | +--- com.android.support:support-vector-drawable:27.1.1 (*)
      | --- com.android.support:support-core-ui:27.1.1 (*)
      +--- com.facebook.react:react-native:+ -> 0.57.4
      | +--- com.facebook.infer.annotation:infer-annotation:0.11.2
      | | --- com.google.code.findbugs:jsr305:3.0.1 -> 3.0.2
      | +--- javax.inject:javax.inject:1
      | +--- com.android.support:appcompat-v7:27.1.1 (*)
      | +--- com.facebook.fresco:fresco:1.10.0
      | | +--- com.facebook.fresco:fbcore:1.10.0
      | | +--- com.facebook.fresco:drawee:1.10.0
      | | | +--- com.facebook.fresco:fbcore:1.10.0
      | | | --- com.facebook.fresco:imagepipeline:1.10.0
      | | | +--- com.facebook.fresco:imagepipeline-base:1.10.0
      | | | | +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
      | | | | +--- com.parse.bolts:bolts-tasks:1.4.0
      | | | | --- com.facebook.fresco:fbcore:1.10.0
      | | | +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
      | | | +--- com.parse.bolts:bolts-tasks:1.4.0
      | | | --- com.facebook.fresco:fbcore:1.10.0
      | | +--- com.facebook.fresco:imagepipeline:1.10.0 (*)
      | | --- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
      | +--- com.facebook.fresco:imagepipeline-okhttp3:1.10.0
      | | +--- com.squareup.okhttp3:okhttp:3.10.0 -> 3.11.0
      | | | --- com.squareup.okio:okio:1.14.0
      | | +--- com.facebook.fresco:fbcore:1.10.0
      | | --- com.facebook.fresco:imagepipeline:1.10.0 (*)
      | +--- com.facebook.soloader:soloader:0.5.1
      | +--- com.google.code.findbugs:jsr305:3.0.2
      | +--- com.squareup.okhttp3:okhttp:3.11.0 (*)
      | +--- com.squareup.okhttp3:okhttp-urlconnection:3.11.0
      | | --- com.squareup.okhttp3:okhttp:3.11.0 (*)
      | +--- com.squareup.okio:okio:1.14.0
      | --- org.webkit:android-jsc:r174650
      +--- project :react-native-ble-manager
      | --- com.facebook.react:react-native:[0.30.0,) -> 0.57.4 (*)
      +--- project :react-native-camera
      | +--- com.google.zxing:core:3.3.0
      | +--- com.drewnoakes:metadata-extractor:2.9.1
      | | --- com.adobe.xmp:xmpcore:5.1.2
      | +--- com.google.android.gms:play-services-vision:11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1
      | | | +--- com.google.android.gms:play-services-basement:16.0.1
      | | | | --- com.android.support:support-v4:26.1.0
      | | | | +--- com.android.support:support-compat:26.1.0 -> 27.1.1 (*)
      | | | | +--- com.android.support:support-media-compat:26.1.0
      | | | | | +--- com.android.support:support-annotations:26.1.0 -> 27.1.1
      | | | | | --- com.android.support:support-compat:26.1.0 -> 27.1.1 (*)
      | | | | +--- com.android.support:support-core-utils:26.1.0 -> 27.1.1 (*)
      | | | | +--- com.android.support:support-core-ui:26.1.0 -> 27.1.1 (*)
      | | | | --- com.android.support:support-fragment:26.1.0 -> 27.1.1 (*)
      | | | --- com.google.android.gms:play-services-tasks:16.0.1
      | | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
      | | +--- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-vision-common:[11.0.4] -> 11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | +--- com.android.support:exifinterface:26.1.0
      | | --- com.android.support:support-annotations:26.1.0 -> 27.1.1
      | +--- com.android.support:support-annotations:26.1.0 -> 27.1.1
      | --- com.android.support:support-v4:26.1.0 (*)
      +--- project :react-native-vector-icons
      | --- com.facebook.react:react-native:+ -> 0.57.4 (*)
      +--- project :react-native-maps
      | +--- com.google.android.gms:play-services-base:11.0.4 -> 16.0.1 (*)
      | +--- com.google.android.gms:play-services-maps:11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | --- com.google.maps.android:android-maps-utils:0.5+ -> 0.5
      +--- project :react-native-push-notification
      | +--- com.android.support:appcompat-v7:26.1.0 -> 27.1.1 (*)
      | +--- com.facebook.react:react-native:+ -> 0.57.4 (*)
      | +--- com.google.android.gms:play-services-gcm:11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
      | | +--- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-iid:[11.0.4] -> 11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | +--- me.leolin:ShortcutBadger:1.1.8
      | --- com.google.firebase:firebase-messaging:+ -> 17.3.4
      | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
      | +--- com.google.android.gms:play-services-tasks:16.0.1 (*)
      | +--- com.google.firebase:firebase-common:16.0.3
      | | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
      | | --- com.google.android.gms:play-services-tasks:16.0.1 (*)
      | +--- com.google.firebase:firebase-iid:[17.0.4] -> 17.0.4
      | | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
      | | +--- com.google.android.gms:play-services-stats:16.0.1
      | | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
      | | +--- com.google.android.gms:play-services-tasks:16.0.1 (*)
      | | +--- com.google.firebase:firebase-common:16.0.3 (*)
      | | --- com.google.firebase:firebase-iid-interop:16.0.1
      | | +--- com.google.android.gms:play-services-base:16.0.1 (*)
      | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
      | --- com.google.firebase:firebase-measurement-connector:17.0.1
      | --- com.google.android.gms:play-services-basement:16.0.1 (*)
      +--- com.google.android.gms:play-services-gcm:11.0.4 (*)
      --- project :react-native-barcode-scanner-google
      +--- com.google.android.gms:play-services-vision:11.0.4 (*)
      --- com.facebook.react:react-native:0.20.+ -> 0.57.4 (*)


      I see that there are some mismatching versions, but I don't really know how to correctly track or correct them.



      This is my build.gradle:



      // Top-level build file where you can add configuration options common to all sub-projects/modules.

      buildscript {
      ext {
      buildToolsVersion = "27.0.3"
      minSdkVersion = 19
      compileSdkVersion = 27
      targetSdkVersion = 26
      supportLibVersion = "27.1.1"
      }
      repositories {
      google()
      jcenter()
      }
      dependencies {
      classpath 'com.android.tools.build:gradle:3.1.4'
      }
      }

      allprojects {
      repositories {
      google()
      mavenLocal()
      jcenter()
      maven {
      // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
      url "$rootDir/../node_modules/react-native/android"
      }
      }
      }

      ext {
      compileSdkVersion = 26
      targetSdkVersion = 26
      buildToolsVersion = "26.0.2"
      supportLibVersion = "26.1.0"
      googlePlayServicesVersion = "11.0.4"
      androidMapsUtilsVersion = "0.5+"
      }

      task wrapper(type: Wrapper) {
      gradleVersion = '4.4'
      distributionUrl = distributionUrl.replace("bin", "all")
      }

      // Application level
      apply plugin: "com.android.application"

      import com.android.build.OutputFile

      project.ext.react = [
      entryFile: "index.js"
      ]

      apply from: "../../node_modules/react-native/react.gradle"

      def enableSeparateBuildPerCPUArchitecture = false

      def enableProguardInReleaseBuilds = false

      android {
      compileSdkVersion rootProject.ext.compileSdkVersion
      buildToolsVersion rootProject.ext.buildToolsVersion

      defaultConfig {
      applicationId "com.dpassapp"
      minSdkVersion rootProject.ext.minSdkVersion
      targetSdkVersion rootProject.ext.targetSdkVersion
      versionCode 1
      versionName "1.0"
      ndk {
      abiFilters "armeabi-v7a", "x86"
      }
      }
      splits {
      abi {
      reset()
      enable enableSeparateBuildPerCPUArchitecture
      universalApk false // If true, also generate a universal APK
      include "armeabi-v7a", "x86"
      }
      }
      buildTypes {
      release {
      minifyEnabled enableProguardInReleaseBuilds
      proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
      }
      }
      // applicationVariants are e.g. debug, release
      applicationVariants.all { variant ->
      variant.outputs.each { output ->
      // For each separate APK per architecture, set a unique version code as described here:
      // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
      def versionCodes = ["armeabi-v7a":1, "x86":2]
      def abi = output.getFilter(OutputFile.ABI)
      if (abi != null) { // null for the universal-debug, universal-release variants
      output.versionCodeOverride =
      versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
      }
      }
      }
      }

      dependencies {
      implementation fileTree(dir: "libs", include: ["*.jar"])
      implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
      implementation "com.facebook.react:react-native:+" // From node_modules

      implementation project(':react-native-ble-manager')
      implementation project(':react-native-camera')
      implementation project(':react-native-vector-icons')
      implementation project(':react-native-maps')

      implementation project(':react-native-push-notification')
      implementation ('com.google.android.gms:play-services-gcm:11.0.4') {
      force = true;
      }

      implementation project(':react-native-barcode-scanner-google')
      }

      // Run this once to be able to run the application with BUCK
      // puts all compile dependencies into folder libs for BUCK to use
      task copyDownloadableDepsToLibs(type: Copy) {
      from configurations.compile
      into 'libs'
      }


      Does anyone know what could I be missing? Or how to properly debug depency version conflicts?










      share|improve this question















      I'm creating an application using react-native. So far I have implemented a few modules like react-native-camera and react-native-maps.



      Everything was working fine until I tried to implement react-native-push-notification.



      I followed their implementation using this tutorial, but now, even though the app builds succesfully, it crashes on start up.



      This is my logcat (It's actually cropped 'cause it wouldn't fit here)



      11-19 18:29:15.419 29371 29456 I art     : Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.maps.model.Cap>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/safeparcel/zza;
      11-19 18:29:15.419 29371 29456 I art : at java.util.List com.airbnb.android.react.maps.MapsPackage.createViewManagers(com.facebook.react.bridge.ReactApplicationContext) (MapsPackage.java:36)
      11-19 18:29:15.419 29371 29456 I art : at java.util.List com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(com.facebook.react.bridge.ReactApplicationContext) (ReactInstanceManager.java:753)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.createUIManager(com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:168)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.access$200(com.facebook.react.CoreModulesPackage, com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:52)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModule com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:126)
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Object com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:123)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.NativeModuleRegistryBuilder.processPackage(com.facebook.react.ReactPackage) (NativeModuleRegistryBuilder.java:61)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager.processPackage(com.facebook.react.ReactPackage, com.facebook.react.NativeModuleRegistryBuilder) (ReactInstanceManager.java:1171)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModuleRegistry com.facebook.react.ReactInstanceManager.processPackages(com.facebook.react.bridge.ReactApplicationContext, java.util.List, boolean) (ReactInstanceManager.java:1141)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.createReactContext(com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:1083)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.access$900(com.facebook.react.ReactInstanceManager, com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:116)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager$5.run() (ReactInstanceManager.java:913)
      11-19 18:29:15.419 29371 29456 I art : at void java.lang.Thread.run() (Thread.java:762)
      11-19 18:29:15.419 29371 29456 I art : Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.safeparcel.zza" on path: DexPathList[[zip file "/data/app/com.dpassapp-2/base.apk"],nativeLibraryDirectories=[/data/app/com.dpassapp-2/lib/arm, /data/app/com.dpassapp-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
      11-19 18:29:15.419 29371 29456 I art : at java.util.List com.airbnb.android.react.maps.MapsPackage.createViewManagers(com.facebook.react.bridge.ReactApplicationContext) (MapsPackage.java:36)
      11-19 18:29:15.419 29371 29456 I art : at java.util.List com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(com.facebook.react.bridge.ReactApplicationContext) (ReactInstanceManager.java:753)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.createUIManager(com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:168)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.uimanager.UIManagerModule com.facebook.react.CoreModulesPackage.access$200(com.facebook.react.CoreModulesPackage, com.facebook.react.bridge.ReactApplicationContext) (CoreModulesPackage.java:52)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModule com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:126)
      11-19 18:29:15.419 29371 29456 I art : at java.lang.Object com.facebook.react.CoreModulesPackage$7.get() (CoreModulesPackage.java:123)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.NativeModuleRegistryBuilder.processPackage(com.facebook.react.ReactPackage) (NativeModuleRegistryBuilder.java:61)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager.processPackage(com.facebook.react.ReactPackage, com.facebook.react.NativeModuleRegistryBuilder) (ReactInstanceManager.java:1171)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.NativeModuleRegistry com.facebook.react.ReactInstanceManager.processPackages(com.facebook.react.bridge.ReactApplicationContext, java.util.List, boolean) (ReactInstanceManager.java:1141)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.createReactContext(com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:1083)
      11-19 18:29:15.419 29371 29456 I art : at com.facebook.react.bridge.ReactApplicationContext com.facebook.react.ReactInstanceManager.access$900(com.facebook.react.ReactInstanceManager, com.facebook.react.bridge.JavaScriptExecutor, com.facebook.react.bridge.JSBundleLoader) (ReactInstanceManager.java:116)
      11-19 18:29:15.419 29371 29456 I art : at void com.facebook.react.ReactInstanceManager$5.run() (ReactInstanceManager.java:913)
      11-19 18:29:15.419 29371 29456 I art : at void java.lang.Thread.run() (Thread.java:762)


      Searching online I found that this could be a dependency version conflict. So I checked my dependency tree and noticed that there was another module I was using that also uses com.google.android.gms:play-services-gcm, but in a different version. So I changed the version in my application level build.gradle to match the other version, but still I get the same error.



      This is the dependecy tree from my project:



      releaseRuntimeClasspath - Resolved configuration for runtime for variant: release
      +--- com.android.support:appcompat-v7:26.1.0 -> 27.1.1
      | +--- com.android.support:support-annotations:27.1.1
      | +--- com.android.support:support-core-utils:27.1.1
      | | +--- com.android.support:support-annotations:27.1.1
      | | --- com.android.support:support-compat:27.1.1
      | | +--- com.android.support:support-annotations:27.1.1
      | | --- android.arch.lifecycle:runtime:1.1.0
      | | +--- android.arch.lifecycle:common:1.1.0
      | | --- android.arch.core:common:1.1.0
      | +--- com.android.support:support-fragment:27.1.1
      | | +--- com.android.support:support-compat:27.1.1 (*)
      | | +--- com.android.support:support-core-ui:27.1.1
      | | | +--- com.android.support:support-annotations:27.1.1
      | | | +--- com.android.support:support-compat:27.1.1 (*)
      | | | --- com.android.support:support-core-utils:27.1.1 (*)
      | | +--- com.android.support:support-core-utils:27.1.1 (*)
      | | +--- com.android.support:support-annotations:27.1.1
      | | +--- android.arch.lifecycle:livedata-core:1.1.0
      | | | +--- android.arch.lifecycle:common:1.1.0
      | | | +--- android.arch.core:common:1.1.0
      | | | --- android.arch.core:runtime:1.1.0
      | | | --- android.arch.core:common:1.1.0
      | | --- android.arch.lifecycle:viewmodel:1.1.0
      | +--- com.android.support:support-vector-drawable:27.1.1
      | | +--- com.android.support:support-annotations:27.1.1
      | | --- com.android.support:support-compat:27.1.1 (*)
      | --- com.android.support:animated-vector-drawable:27.1.1
      | +--- com.android.support:support-vector-drawable:27.1.1 (*)
      | --- com.android.support:support-core-ui:27.1.1 (*)
      +--- com.facebook.react:react-native:+ -> 0.57.4
      | +--- com.facebook.infer.annotation:infer-annotation:0.11.2
      | | --- com.google.code.findbugs:jsr305:3.0.1 -> 3.0.2
      | +--- javax.inject:javax.inject:1
      | +--- com.android.support:appcompat-v7:27.1.1 (*)
      | +--- com.facebook.fresco:fresco:1.10.0
      | | +--- com.facebook.fresco:fbcore:1.10.0
      | | +--- com.facebook.fresco:drawee:1.10.0
      | | | +--- com.facebook.fresco:fbcore:1.10.0
      | | | --- com.facebook.fresco:imagepipeline:1.10.0
      | | | +--- com.facebook.fresco:imagepipeline-base:1.10.0
      | | | | +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
      | | | | +--- com.parse.bolts:bolts-tasks:1.4.0
      | | | | --- com.facebook.fresco:fbcore:1.10.0
      | | | +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
      | | | +--- com.parse.bolts:bolts-tasks:1.4.0
      | | | --- com.facebook.fresco:fbcore:1.10.0
      | | +--- com.facebook.fresco:imagepipeline:1.10.0 (*)
      | | --- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
      | +--- com.facebook.fresco:imagepipeline-okhttp3:1.10.0
      | | +--- com.squareup.okhttp3:okhttp:3.10.0 -> 3.11.0
      | | | --- com.squareup.okio:okio:1.14.0
      | | +--- com.facebook.fresco:fbcore:1.10.0
      | | --- com.facebook.fresco:imagepipeline:1.10.0 (*)
      | +--- com.facebook.soloader:soloader:0.5.1
      | +--- com.google.code.findbugs:jsr305:3.0.2
      | +--- com.squareup.okhttp3:okhttp:3.11.0 (*)
      | +--- com.squareup.okhttp3:okhttp-urlconnection:3.11.0
      | | --- com.squareup.okhttp3:okhttp:3.11.0 (*)
      | +--- com.squareup.okio:okio:1.14.0
      | --- org.webkit:android-jsc:r174650
      +--- project :react-native-ble-manager
      | --- com.facebook.react:react-native:[0.30.0,) -> 0.57.4 (*)
      +--- project :react-native-camera
      | +--- com.google.zxing:core:3.3.0
      | +--- com.drewnoakes:metadata-extractor:2.9.1
      | | --- com.adobe.xmp:xmpcore:5.1.2
      | +--- com.google.android.gms:play-services-vision:11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1
      | | | +--- com.google.android.gms:play-services-basement:16.0.1
      | | | | --- com.android.support:support-v4:26.1.0
      | | | | +--- com.android.support:support-compat:26.1.0 -> 27.1.1 (*)
      | | | | +--- com.android.support:support-media-compat:26.1.0
      | | | | | +--- com.android.support:support-annotations:26.1.0 -> 27.1.1
      | | | | | --- com.android.support:support-compat:26.1.0 -> 27.1.1 (*)
      | | | | +--- com.android.support:support-core-utils:26.1.0 -> 27.1.1 (*)
      | | | | +--- com.android.support:support-core-ui:26.1.0 -> 27.1.1 (*)
      | | | | --- com.android.support:support-fragment:26.1.0 -> 27.1.1 (*)
      | | | --- com.google.android.gms:play-services-tasks:16.0.1
      | | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
      | | +--- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-vision-common:[11.0.4] -> 11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | +--- com.android.support:exifinterface:26.1.0
      | | --- com.android.support:support-annotations:26.1.0 -> 27.1.1
      | +--- com.android.support:support-annotations:26.1.0 -> 27.1.1
      | --- com.android.support:support-v4:26.1.0 (*)
      +--- project :react-native-vector-icons
      | --- com.facebook.react:react-native:+ -> 0.57.4 (*)
      +--- project :react-native-maps
      | +--- com.google.android.gms:play-services-base:11.0.4 -> 16.0.1 (*)
      | +--- com.google.android.gms:play-services-maps:11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | --- com.google.maps.android:android-maps-utils:0.5+ -> 0.5
      +--- project :react-native-push-notification
      | +--- com.android.support:appcompat-v7:26.1.0 -> 27.1.1 (*)
      | +--- com.facebook.react:react-native:+ -> 0.57.4 (*)
      | +--- com.google.android.gms:play-services-gcm:11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
      | | +--- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-iid:[11.0.4] -> 11.0.4
      | | +--- com.google.android.gms:play-services-base:[11.0.4] -> 16.0.1 (*)
      | | --- com.google.android.gms:play-services-basement:[11.0.4] -> 16.0.1 (*)
      | +--- me.leolin:ShortcutBadger:1.1.8
      | --- com.google.firebase:firebase-messaging:+ -> 17.3.4
      | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
      | +--- com.google.android.gms:play-services-tasks:16.0.1 (*)
      | +--- com.google.firebase:firebase-common:16.0.3
      | | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
      | | --- com.google.android.gms:play-services-tasks:16.0.1 (*)
      | +--- com.google.firebase:firebase-iid:[17.0.4] -> 17.0.4
      | | +--- com.google.android.gms:play-services-basement:16.0.1 (*)
      | | +--- com.google.android.gms:play-services-stats:16.0.1
      | | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
      | | +--- com.google.android.gms:play-services-tasks:16.0.1 (*)
      | | +--- com.google.firebase:firebase-common:16.0.3 (*)
      | | --- com.google.firebase:firebase-iid-interop:16.0.1
      | | +--- com.google.android.gms:play-services-base:16.0.1 (*)
      | | --- com.google.android.gms:play-services-basement:16.0.1 (*)
      | --- com.google.firebase:firebase-measurement-connector:17.0.1
      | --- com.google.android.gms:play-services-basement:16.0.1 (*)
      +--- com.google.android.gms:play-services-gcm:11.0.4 (*)
      --- project :react-native-barcode-scanner-google
      +--- com.google.android.gms:play-services-vision:11.0.4 (*)
      --- com.facebook.react:react-native:0.20.+ -> 0.57.4 (*)


      I see that there are some mismatching versions, but I don't really know how to correctly track or correct them.



      This is my build.gradle:



      // Top-level build file where you can add configuration options common to all sub-projects/modules.

      buildscript {
      ext {
      buildToolsVersion = "27.0.3"
      minSdkVersion = 19
      compileSdkVersion = 27
      targetSdkVersion = 26
      supportLibVersion = "27.1.1"
      }
      repositories {
      google()
      jcenter()
      }
      dependencies {
      classpath 'com.android.tools.build:gradle:3.1.4'
      }
      }

      allprojects {
      repositories {
      google()
      mavenLocal()
      jcenter()
      maven {
      // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
      url "$rootDir/../node_modules/react-native/android"
      }
      }
      }

      ext {
      compileSdkVersion = 26
      targetSdkVersion = 26
      buildToolsVersion = "26.0.2"
      supportLibVersion = "26.1.0"
      googlePlayServicesVersion = "11.0.4"
      androidMapsUtilsVersion = "0.5+"
      }

      task wrapper(type: Wrapper) {
      gradleVersion = '4.4'
      distributionUrl = distributionUrl.replace("bin", "all")
      }

      // Application level
      apply plugin: "com.android.application"

      import com.android.build.OutputFile

      project.ext.react = [
      entryFile: "index.js"
      ]

      apply from: "../../node_modules/react-native/react.gradle"

      def enableSeparateBuildPerCPUArchitecture = false

      def enableProguardInReleaseBuilds = false

      android {
      compileSdkVersion rootProject.ext.compileSdkVersion
      buildToolsVersion rootProject.ext.buildToolsVersion

      defaultConfig {
      applicationId "com.dpassapp"
      minSdkVersion rootProject.ext.minSdkVersion
      targetSdkVersion rootProject.ext.targetSdkVersion
      versionCode 1
      versionName "1.0"
      ndk {
      abiFilters "armeabi-v7a", "x86"
      }
      }
      splits {
      abi {
      reset()
      enable enableSeparateBuildPerCPUArchitecture
      universalApk false // If true, also generate a universal APK
      include "armeabi-v7a", "x86"
      }
      }
      buildTypes {
      release {
      minifyEnabled enableProguardInReleaseBuilds
      proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
      }
      }
      // applicationVariants are e.g. debug, release
      applicationVariants.all { variant ->
      variant.outputs.each { output ->
      // For each separate APK per architecture, set a unique version code as described here:
      // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
      def versionCodes = ["armeabi-v7a":1, "x86":2]
      def abi = output.getFilter(OutputFile.ABI)
      if (abi != null) { // null for the universal-debug, universal-release variants
      output.versionCodeOverride =
      versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
      }
      }
      }
      }

      dependencies {
      implementation fileTree(dir: "libs", include: ["*.jar"])
      implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
      implementation "com.facebook.react:react-native:+" // From node_modules

      implementation project(':react-native-ble-manager')
      implementation project(':react-native-camera')
      implementation project(':react-native-vector-icons')
      implementation project(':react-native-maps')

      implementation project(':react-native-push-notification')
      implementation ('com.google.android.gms:play-services-gcm:11.0.4') {
      force = true;
      }

      implementation project(':react-native-barcode-scanner-google')
      }

      // Run this once to be able to run the application with BUCK
      // puts all compile dependencies into folder libs for BUCK to use
      task copyDownloadableDepsToLibs(type: Copy) {
      from configurations.compile
      into 'libs'
      }


      Does anyone know what could I be missing? Or how to properly debug depency version conflicts?







      android react-native android-gradle dependencies react-native-push-notification






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Dec 17 '18 at 13:08









      Cœur

      17.5k9104145




      17.5k9104145










      asked Nov 19 '18 at 20:48









      Thiago LoddiThiago Loddi

      851823




      851823
























          3 Answers
          3






          active

          oldest

          votes


















          0














          Do this may help you :



          react-native link


          and



          react-native link (your dependency name)


          like this :



          react-native link react-native-push-notification


          I have an issue like yours and this helped me



          good luck






          share|improve this answer





























            0














            In dependency version conflicts (such as Google Play Services) best thing to do is fix the dependency in the top level gradle as you have done and then exclude the dependency from conflicting libraries.



            compile(project(":react-native-push-notification")){
            exclude group: "com.google.android.gms"
            }



            However, make sure the proper version compatible with all the dependencies are fixed in the top level gradle.






            share|improve this answer





























              0














              I found that there were 2 (similar) reasons why my app was crashing.




              1. I had dependencies that required different versions of android support library

              2. I had dependencies that required different versions of google services libraries


              The first one was easier to fix. But I had a really hard time figuring out why I couldn't force all google services to the same version, I kept getting errors messages that the libraries couldn't be found in the repository. The problem was not all dependencies have the same minor/patch versions (as listed here).



              e.g.: com.google.android.gms:play-services-base latest version is 16.0.1 (doesn't even have 16.0.0), whereas com.google.android.gms:play.services.maps lastest version is 16.0.0. So If I hardcoded any of these version, the other one would throw a not found error.



              To solve this, I had to force all google services libraries to the same major version, so it could fetch the correct version for each one.



              Adding these lines to my top-level build.gradle solved it:



              subprojects {
              project.configurations.all {
              resolutionStrategy.eachDependency { details ->

              // force all android support dependencies to 27.1.1
              if (details.requested.group == 'com.android.support'
              && !details.requested.name.contains('multidex') ) {
              details.useVersion "27.1.1"
              }

              // force all google services libraries to the same latest major version
              if(details.requested.group == 'com.google.android.gms') {
              details.useVersion '16.+'
              }
              }
              }
              }





              share|improve this answer





















                Your Answer






                StackExchange.ifUsing("editor", function () {
                StackExchange.using("externalEditor", function () {
                StackExchange.using("snippets", function () {
                StackExchange.snippets.init();
                });
                });
                }, "code-snippets");

                StackExchange.ready(function() {
                var channelOptions = {
                tags: "".split(" "),
                id: "1"
                };
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function() {
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled) {
                StackExchange.using("snippets", function() {
                createEditor();
                });
                }
                else {
                createEditor();
                }
                });

                function createEditor() {
                StackExchange.prepareEditor({
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: true,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: 10,
                bindNavPrevention: true,
                postfix: "",
                imageUploader: {
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                },
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                });


                }
                });














                draft saved

                draft discarded


















                StackExchange.ready(
                function () {
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53382423%2ferrors-adding-dependency-with-react-native%23new-answer', 'question_page');
                }
                );

                Post as a guest















                Required, but never shown

























                3 Answers
                3






                active

                oldest

                votes








                3 Answers
                3






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                0














                Do this may help you :



                react-native link


                and



                react-native link (your dependency name)


                like this :



                react-native link react-native-push-notification


                I have an issue like yours and this helped me



                good luck






                share|improve this answer


























                  0














                  Do this may help you :



                  react-native link


                  and



                  react-native link (your dependency name)


                  like this :



                  react-native link react-native-push-notification


                  I have an issue like yours and this helped me



                  good luck






                  share|improve this answer
























                    0












                    0








                    0






                    Do this may help you :



                    react-native link


                    and



                    react-native link (your dependency name)


                    like this :



                    react-native link react-native-push-notification


                    I have an issue like yours and this helped me



                    good luck






                    share|improve this answer












                    Do this may help you :



                    react-native link


                    and



                    react-native link (your dependency name)


                    like this :



                    react-native link react-native-push-notification


                    I have an issue like yours and this helped me



                    good luck







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Nov 20 '18 at 14:07









                    MoHammaD ReZa DehGhaniMoHammaD ReZa DehGhani

                    112115




                    112115

























                        0














                        In dependency version conflicts (such as Google Play Services) best thing to do is fix the dependency in the top level gradle as you have done and then exclude the dependency from conflicting libraries.



                        compile(project(":react-native-push-notification")){
                        exclude group: "com.google.android.gms"
                        }



                        However, make sure the proper version compatible with all the dependencies are fixed in the top level gradle.






                        share|improve this answer


























                          0














                          In dependency version conflicts (such as Google Play Services) best thing to do is fix the dependency in the top level gradle as you have done and then exclude the dependency from conflicting libraries.



                          compile(project(":react-native-push-notification")){
                          exclude group: "com.google.android.gms"
                          }



                          However, make sure the proper version compatible with all the dependencies are fixed in the top level gradle.






                          share|improve this answer
























                            0












                            0








                            0






                            In dependency version conflicts (such as Google Play Services) best thing to do is fix the dependency in the top level gradle as you have done and then exclude the dependency from conflicting libraries.



                            compile(project(":react-native-push-notification")){
                            exclude group: "com.google.android.gms"
                            }



                            However, make sure the proper version compatible with all the dependencies are fixed in the top level gradle.






                            share|improve this answer












                            In dependency version conflicts (such as Google Play Services) best thing to do is fix the dependency in the top level gradle as you have done and then exclude the dependency from conflicting libraries.



                            compile(project(":react-native-push-notification")){
                            exclude group: "com.google.android.gms"
                            }



                            However, make sure the proper version compatible with all the dependencies are fixed in the top level gradle.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Nov 21 '18 at 7:17









                            Miyuru SagarageMiyuru Sagarage

                            961712




                            961712























                                0














                                I found that there were 2 (similar) reasons why my app was crashing.




                                1. I had dependencies that required different versions of android support library

                                2. I had dependencies that required different versions of google services libraries


                                The first one was easier to fix. But I had a really hard time figuring out why I couldn't force all google services to the same version, I kept getting errors messages that the libraries couldn't be found in the repository. The problem was not all dependencies have the same minor/patch versions (as listed here).



                                e.g.: com.google.android.gms:play-services-base latest version is 16.0.1 (doesn't even have 16.0.0), whereas com.google.android.gms:play.services.maps lastest version is 16.0.0. So If I hardcoded any of these version, the other one would throw a not found error.



                                To solve this, I had to force all google services libraries to the same major version, so it could fetch the correct version for each one.



                                Adding these lines to my top-level build.gradle solved it:



                                subprojects {
                                project.configurations.all {
                                resolutionStrategy.eachDependency { details ->

                                // force all android support dependencies to 27.1.1
                                if (details.requested.group == 'com.android.support'
                                && !details.requested.name.contains('multidex') ) {
                                details.useVersion "27.1.1"
                                }

                                // force all google services libraries to the same latest major version
                                if(details.requested.group == 'com.google.android.gms') {
                                details.useVersion '16.+'
                                }
                                }
                                }
                                }





                                share|improve this answer


























                                  0














                                  I found that there were 2 (similar) reasons why my app was crashing.




                                  1. I had dependencies that required different versions of android support library

                                  2. I had dependencies that required different versions of google services libraries


                                  The first one was easier to fix. But I had a really hard time figuring out why I couldn't force all google services to the same version, I kept getting errors messages that the libraries couldn't be found in the repository. The problem was not all dependencies have the same minor/patch versions (as listed here).



                                  e.g.: com.google.android.gms:play-services-base latest version is 16.0.1 (doesn't even have 16.0.0), whereas com.google.android.gms:play.services.maps lastest version is 16.0.0. So If I hardcoded any of these version, the other one would throw a not found error.



                                  To solve this, I had to force all google services libraries to the same major version, so it could fetch the correct version for each one.



                                  Adding these lines to my top-level build.gradle solved it:



                                  subprojects {
                                  project.configurations.all {
                                  resolutionStrategy.eachDependency { details ->

                                  // force all android support dependencies to 27.1.1
                                  if (details.requested.group == 'com.android.support'
                                  && !details.requested.name.contains('multidex') ) {
                                  details.useVersion "27.1.1"
                                  }

                                  // force all google services libraries to the same latest major version
                                  if(details.requested.group == 'com.google.android.gms') {
                                  details.useVersion '16.+'
                                  }
                                  }
                                  }
                                  }





                                  share|improve this answer
























                                    0












                                    0








                                    0






                                    I found that there were 2 (similar) reasons why my app was crashing.




                                    1. I had dependencies that required different versions of android support library

                                    2. I had dependencies that required different versions of google services libraries


                                    The first one was easier to fix. But I had a really hard time figuring out why I couldn't force all google services to the same version, I kept getting errors messages that the libraries couldn't be found in the repository. The problem was not all dependencies have the same minor/patch versions (as listed here).



                                    e.g.: com.google.android.gms:play-services-base latest version is 16.0.1 (doesn't even have 16.0.0), whereas com.google.android.gms:play.services.maps lastest version is 16.0.0. So If I hardcoded any of these version, the other one would throw a not found error.



                                    To solve this, I had to force all google services libraries to the same major version, so it could fetch the correct version for each one.



                                    Adding these lines to my top-level build.gradle solved it:



                                    subprojects {
                                    project.configurations.all {
                                    resolutionStrategy.eachDependency { details ->

                                    // force all android support dependencies to 27.1.1
                                    if (details.requested.group == 'com.android.support'
                                    && !details.requested.name.contains('multidex') ) {
                                    details.useVersion "27.1.1"
                                    }

                                    // force all google services libraries to the same latest major version
                                    if(details.requested.group == 'com.google.android.gms') {
                                    details.useVersion '16.+'
                                    }
                                    }
                                    }
                                    }





                                    share|improve this answer












                                    I found that there were 2 (similar) reasons why my app was crashing.




                                    1. I had dependencies that required different versions of android support library

                                    2. I had dependencies that required different versions of google services libraries


                                    The first one was easier to fix. But I had a really hard time figuring out why I couldn't force all google services to the same version, I kept getting errors messages that the libraries couldn't be found in the repository. The problem was not all dependencies have the same minor/patch versions (as listed here).



                                    e.g.: com.google.android.gms:play-services-base latest version is 16.0.1 (doesn't even have 16.0.0), whereas com.google.android.gms:play.services.maps lastest version is 16.0.0. So If I hardcoded any of these version, the other one would throw a not found error.



                                    To solve this, I had to force all google services libraries to the same major version, so it could fetch the correct version for each one.



                                    Adding these lines to my top-level build.gradle solved it:



                                    subprojects {
                                    project.configurations.all {
                                    resolutionStrategy.eachDependency { details ->

                                    // force all android support dependencies to 27.1.1
                                    if (details.requested.group == 'com.android.support'
                                    && !details.requested.name.contains('multidex') ) {
                                    details.useVersion "27.1.1"
                                    }

                                    // force all google services libraries to the same latest major version
                                    if(details.requested.group == 'com.google.android.gms') {
                                    details.useVersion '16.+'
                                    }
                                    }
                                    }
                                    }






                                    share|improve this answer












                                    share|improve this answer



                                    share|improve this answer










                                    answered Nov 23 '18 at 15:54









                                    Thiago LoddiThiago Loddi

                                    851823




                                    851823






























                                        draft saved

                                        draft discarded




















































                                        Thanks for contributing an answer to Stack Overflow!


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid



                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.


                                        To learn more, see our tips on writing great answers.




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function () {
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53382423%2ferrors-adding-dependency-with-react-native%23new-answer', 'question_page');
                                        }
                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        Popular posts from this blog

                                        MongoDB - Not Authorized To Execute Command

                                        in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

                                        Npm cannot find a required file even through it is in the searched directory