Errors adding dependency with react-native
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?


add a comment |
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?


add a comment |
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?


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?




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
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
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
add a comment |
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.
add a comment |
I found that there were 2 (similar) reasons why my app was crashing.
- I had dependencies that required different versions of android support library
- 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.+'
}
}
}
}
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
add a comment |
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
add a comment |
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
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
answered Nov 20 '18 at 14:07


MoHammaD ReZa DehGhaniMoHammaD ReZa DehGhani
112115
112115
add a comment |
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered Nov 21 '18 at 7:17


Miyuru SagarageMiyuru Sagarage
961712
961712
add a comment |
add a comment |
I found that there were 2 (similar) reasons why my app was crashing.
- I had dependencies that required different versions of android support library
- 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.+'
}
}
}
}
add a comment |
I found that there were 2 (similar) reasons why my app was crashing.
- I had dependencies that required different versions of android support library
- 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.+'
}
}
}
}
add a comment |
I found that there were 2 (similar) reasons why my app was crashing.
- I had dependencies that required different versions of android support library
- 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.+'
}
}
}
}
I found that there were 2 (similar) reasons why my app was crashing.
- I had dependencies that required different versions of android support library
- 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.+'
}
}
}
}
answered Nov 23 '18 at 15:54
Thiago LoddiThiago Loddi
851823
851823
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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