title: Exception trying to execute Android App from Eclipse To Android Studio
body: <p>I have tried to migrate an Eclipse Android project to Android Studio, I have tried both ways, open directly from Android Studio and migrating to Gradle in Eclipse first and then open it in Android Studio.</p>
  
  <p>Then I have tried to remove the Google Play library folder and added it in my Gradle file, and then the project do this:</p>
  
  <ul>
  <li>Make Project <strong>OK</strong></li>
  <li>Clean Project <strong>OK</strong></li>
  <li>Rebuild Project  <strong>OK</strong> </li>
  <li>Gradle sync and download a lot of DLL <strong>OK</strong></li>
  <li><strong>Play or Debug KO and gives me this errors:</strong></li>
  </ul>
  
  <blockquote>
    <p>Error:Execution failed for task
    ':goSmart.guestperience.MoncloaDeSanLazaro:dexDebug'.</p>
    
    <blockquote>
      <p>com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command
      '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java''
      finished with non-zero exit value 2</p>
    </blockquote>
  </blockquote>
  
  <p>OR</p>
  
  <blockquote>
    <p>Error:Execution failed for task
    ':goSmart.guestperience.MoncloaDeSanLazaro:dexDebug'.</p>
    
    <blockquote>
      <p>com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command
      '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java''
      finished with non-zero exit value 2</p>
    </blockquote>
  </blockquote>
  
  <p>OR</p>
  
  <blockquote>
    <p>Error:Execution failed for task
    ':goSmart.guestperience.MoncloaDeSanLazaro:dexDebug'.</p>
    
    <blockquote>
      <p>com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command
      '/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java''
      finished with non-zero exit value 2</p>
    </blockquote>
  </blockquote>
  
  <p>I have started with JDK 1.6, then updated to 1.7 and then to 1.8 to see if that was the problem.</p>
  
  <p>If I don't delete the Google Play Dervices folders the project works just fine.</p>
  
  <p>I'm using a MAC if that is important.</p>
  
  <p>And if that matter to solve this problem, I'm having <a href="https://stackoverflow.com/questions/30025491/android-gradle-sync-exception-with-the-smooth-progress-bar-project">this</a> other problem in my project posted in stack overflow.</p>
  
  <p>This is how it looks my project structure:</p>
  
  <p><img src="https://i.stack.imgur.com/MNfV6.png" alt="enter image description here"></p>
  
  <p>And this are the build.grade files of all the projects</p>
  
  <p>Main warper project (guestperience 1.0.1 Moncloa De San Lazaro):</p>
  
  <pre><code>// Top-level build file where you can add configuration options common to all sub-projects/modules.
  buildscript {
      repositories {
          jcenter()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:1.2.0'
      }
  }
  </code></pre>
  
  <p>goSmart.guestperience.MoncloaDeSanLazaro (this is where I code):</p>
  
  <pre><code>apply plugin: 'com.android.application'
  
  dependencies {
      compile fileTree(dir: 'libs', include: '*.jar')
      compile project(':librarySmartHotel')
      compile 'com.google.android.gms:play-services:7.3.0'
  }
  
  android {
      compileSdkVersion 16
      buildToolsVersion "22.0.1"
  
      sourceSets {
          main {
              manifest.srcFile 'AndroidManifest.xml'
              java.srcDirs = ['src']
              resources.srcDirs = ['src']
              aidl.srcDirs = ['src']
              renderscript.srcDirs = ['src']
              res.srcDirs = ['res']
              assets.srcDirs = ['assets']
          }
  
          // Move the tests to tests/java, tests/res, etc...
          instrumentTest.setRoot('tests')
  
          // Move the build types to build-types/&lt;type&gt;
          // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
          // This moves them out of them default location under src/&lt;type&gt;/... which would
          // conflict with src/ being used by the main source set.
          // Adding new build types or product flavors should be accompanied
          // by a similar customization.
          debug.setRoot('build-types/debug')
          release.setRoot('build-types/release')
      }
  }
  </code></pre>
  
  <p>librarySmartHotel:</p>
  
  <pre><code>apply plugin: 'com.android.library'
  
  dependencies {
      compile fileTree(dir: 'libs', include: '*.jar')
      compile project(':main')
  }
  
  android {
      compileSdkVersion 16
      buildToolsVersion '22.0.1'
  
      sourceSets {
          main {
              manifest.srcFile 'AndroidManifest.xml'
              java.srcDirs = ['src']
              resources.srcDirs = ['src']
              aidl.srcDirs = ['src']
              renderscript.srcDirs = ['src']
              res.srcDirs = ['res']
              assets.srcDirs = ['assets']
          }
  
          // Move the tests to tests/java, tests/res, etc...
          instrumentTest.setRoot('tests')
  
          // Move the build types to build-types/&lt;type&gt;
          // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
          // This moves them out of them default location under src/&lt;type&gt;/... which would
          // conflict with src/ being used by the main source set.
          // Adding new build types or product flavors should be accompanied
          // by a similar customization.
          debug.setRoot('build-types/debug')
          release.setRoot('build-types/release')
      }
  }
  </code></pre>
  
  <p>main:</p>
  
  <pre><code>apply plugin: 'com.android.library'
  
  dependencies {
      compile fileTree(dir: 'libs', include: '*.jar')
  }
  
  android {
      compileSdkVersion 16
      buildToolsVersion '22.0.1'
  
      sourceSets {
          main {
              manifest.srcFile 'AndroidManifest.xml'
              java.srcDirs = ['src']
              resources.srcDirs = ['src']
              aidl.srcDirs = ['src']
              renderscript.srcDirs = ['src']
              res.srcDirs = ['res']
              assets.srcDirs = ['assets']
          }
  
          // Move the tests to tests/java, tests/res, etc...
          instrumentTest.setRoot('tests')
  
          // Move the build types to build-types/&lt;type&gt;
          // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
          // This moves them out of them default location under src/&lt;type&gt;/... which would
          // conflict with src/ being used by the main source set.
          // Adding new build types or product flavors should be accompanied
          // by a similar customization.
          debug.setRoot('build-types/debug')
          release.setRoot('build-types/release')
      }
  }
  </code></pre>
  
  <p>I'm thinking that some configuration is missing (maybe), the true is that I'm super lost.</p>
  
  <p>I'm an iOS programmer and this are my first steps in Android, the project has been done by another guy, and now I'm supposed to continue, so let's say I'm having a good fight with Android Studio and it looks that I'm loosing ;-P</p>
  
  <p>Thanks for the help.</p>
  
  <p><strong>UPDATE:</strong></p>
  
  <p>I have found this in the log:</p>
  
  <blockquote>
    <p>AGPBI: {"kind":"SIMPLE","text":"UNEXPECTED TOP-LEVEL
    EXCEPTION:","position":{},"original":"UNEXPECTED TOP-LEVEL
    EXCEPTION:"} AGPBI:
    {"kind":"SIMPLE","text":"com.android.dex.DexException: Multiple dex
    files define
    Lcom/google/android/gms/analytics/internal/Command$1;","position":{},"original":"com.android.dex.DexException:
    Multiple dex files define
    Lcom/google/android/gms/analytics/internal/Command$1;"} AGPBI:
    {"kind":"SIMPLE","text":"\tat
    com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)","position":{},"original":"\tat
    com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)"}
    AGPBI: {"kind":"SIMPLE","text":"\tat
    com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)","position":{},"original":"\tat
    com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)"}
    AGPBI: {"kind":"SIMPLE","text":"\tat
    com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)","position":{},"original":"\tat
    com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)"}
    AGPBI: {"kind":"SIMPLE","text":"\tat
    com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)","position":{},"original":"\tat
    com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)"} AGPBI:
    {"kind":"SIMPLE","text":"\tat
    com.android.dx.merge.DexMerger.merge(DexMerger.java:189)","position":{},"original":"\tat
    com.android.dx.merge.DexMerger.merge(DexMerger.java:189)"} AGPBI:
    {"kind":"SIMPLE","text":"\tat
    com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)","position":{},"original":"\tat
    com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)"}
    AGPBI: {"kind":"SIMPLE","text":"\tat
    com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)","position":{},"original":"\tat
    com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)"} AGPBI:
    {"kind":"SIMPLE","text":"\tat
    com.android.dx.command.dexer.Main.run(Main.java:246)","position":{},"original":"\tat
    com.android.dx.command.dexer.Main.run(Main.java:246)"} AGPBI:
    {"kind":"SIMPLE","text":"\tat
    com.android.dx.command.dexer.Main.main(Main.java:215)","position":{},"original":"\tat
    com.android.dx.command.dexer.Main.main(Main.java:215)"} AGPBI:
    {"kind":"SIMPLE","text":"\tat
    com.android.dx.command.Main.main(Main.java:106)","position":{},"original":"\tat
    com.android.dx.command.Main.main(Main.java:106)"}</p>
  </blockquote>