Multiple dex files define

Android SDK를 업데이트를 한 뒤 아래와 같은 에러가 발생 할 수 있습니다.
저는 Google Play Service를 업데이트를 하다보니 발생하였네요;

:app:preDexDebug
:app:dexDebug
Unknown source file : UNEXPECTED TOP-LEVEL EXCEPTION:
Unknown source file : com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzqf;
Unknown source file :  at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
Unknown source file :  at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
Unknown source file :  at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
Unknown source file :  at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
Unknown source file :  at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
Unknown source file :  at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
Unknown source file :  at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
Unknown source file :  at com.android.dx.command.dexer.Main.run(Main.java:277)
Unknown source file :  at com.android.dx.command.dexer.Main.main(Main.java:245)
Unknown source file :  at com.android.dx.command.Main.main(Main.java:106)

:app:dexDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

동일한 이름의 라이브러리를 중복으로 불러와 발생하는 문제입니다.
저는 com.google.firebase:firebase-core를 사용하는 node module이 여러 개가 있었는데, 각각 필요한 버전이 달라서 오류가 발생하였습니다.
해결 방법은 문제가 발생하는 node module를 지우고 다시 설치를 하도록 합니다.

rnpm unlink
npm cache clean
npm install
rnpm link

이 때 각 node module의 android/build.gradle 에서 dependencies 버전을 수정을 해 주셔야 합니다.
가급적 동일한 버전을 사용하도록 수정을 하시고 다시 빌드를 진행을 하면 됩니다.