title: Android project build successfully but ran failed with error: java.util.zip.ZipException: duplicate entry
body: <p>I have update my android studio and SDK and some package dependencies on grade of the project and since then I have faced with a lot of problem that I think the reason is incompatibility between dependencies. </p>
  
  <p>As I researched I found that many people have same problems and it is not rare. I have solved some of the error but problems just appears one after another and I am just confused. hope you can help me find out the problem and its solution.</p>
  
  <p>Code works well on new android versions ! (a little strange) and I can compile and run the app on android 21+. but when I try to run it on below 21 android version  it give me an error. Every thing was ok before I migrate to Android studio 2.</p>
  
  <p>Here is the error code I get now :</p>
  
  <blockquote>
  <pre><code>FAILURE: Build failed with an exception.
  </code></pre>
    
    <ul>
    <li><p>What went wrong: Execution failed for task ':transformClassesWithJarMergingForDebug'.</p>
    
    <blockquote>
      <p>com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry:
      android/support/annotation/WorkerThread.class</p>
    </blockquote></li>
    <li><p>Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.</p></li>
    </ul>
  </blockquote>
  
  <p>here is the project grade file :</p>
  
  <pre><code>task wrapper(type: Wrapper) {
      gradleVersion = '2.2'
  }
  buildscript {
      repositories {
          mavenCentral()
          jcenter()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:2.1.0'
          classpath 'com.google.gms:google-services:2.1.0'
  
      }
  
  
  }
  apply plugin: 'com.android.application'
  allprojects {
      repositories {
          jcenter()
          flatDir {
              dirs 'libs'
          }
      }
  }
  dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
      compile(name: 'aescrypt-0.0.1', ext: 'aar')
      compile project(':viewmover-1.1.0 (1)')
      compile project(':fab-1.1.2')
      compile files('libs/slf4j-api-1.7.18.jar')
      compile project(':uitools-1.1.0')
      compile('com.android.support:appcompat-v7:23.4.0') {
          exclude group: 'com.google.android', module: 'support-v4'
      }
      compile 'com.android.support:design:23.4.0'
      compile 'com.google.code.gson:gson:2.6.2'
      compile 'com.github.paolorotolo:appintro:3.4.0'
  
  
      compile ('com.google.android.gms:play-services-gcm:8.1.0')   {
          exclude group: 'com.google.android', module: 'support-v4'
  
  
      }
  }
  
  
  android {
      compileSdkVersion 23
      buildToolsVersion '23.0.1'
  
      configurations{
          all*.exclude module: 'annotation'
      }
      defaultConfig {
          applicationId "co.goldentime"
          multiDexEnabled true
          minSdkVersion 16
          targetSdkVersion 23
      }
      sourceSets {
          main {
              manifest.srcFile 'AndroidManifest.xml'
              java.srcDirs = ['submodules/linphone/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', 'submodules/externals/axmlrpc/src/main/java', 'submodules/linphone/coreapi/help/java', 'src']
              resources.srcDirs = ['submodules/linphone/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', 'submodules/externals/axmlrpc/src/main/java', 'submodules/linphone/coreapi/help/java', 'src']
              aidl.srcDirs = ['submodules/linphone/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', 'submodules/externals/axmlrpc/src/main/java', 'submodules/linphone/coreapi/help/java', 'src']
              renderscript.srcDirs = ['submodules/linphone/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', 'submodules/externals/axmlrpc/src/main/java', 'submodules/linphone/coreapi/help/java', 'src']
              res.srcDirs = ['res']
              assets.srcDirs = ['assets']
              jniLibs.srcDir 'libs'
  
              java.exclude '**/mediastream/MediastreamerActivity.java'
          }
  
          // 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')
      }
  
  
  }
  apply plugin: 'com.google.gms.google-services'
  </code></pre>
  
  <p>I find out there is problem with different version of support-v4 but I do not know which one should be exclude. I have a "android-support-v4.jar" in the <strong>libs</strong>. </p>
  
  <p>let me know if it is needed some other information.</p>
  
  <p>thank you.</p>