title: android Error:Execution failed for task ':app:packageDebug'
body: <p>my function</p>
  
  <pre><code>    public static String postFile(String url,String fileName, String userName) throws Exception {
  
      HttpClient client = new DefaultHttpClient();
      HttpPost post = new HttpPost(url);
      MultipartEntityBuilder builder = MultipartEntityBuilder.create();
      builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
  
      final File file = new File(fileName);
  
      ContentBody cfile=new FileBody(file);
      builder.addPart("file",cfile);
      builder.addTextBody("userName", userName);
  
      final HttpEntity yourEntity = builder.build();
  
      class ProgressiveEntity implements HttpEntity {
          @Override
          public void consumeContent() throws IOException {
              yourEntity.consumeContent();
          }
          @Override
          public InputStream getContent() throws IOException,
                  IllegalStateException {
              return yourEntity.getContent();
          }
          @Override
          public Header getContentEncoding() {
              return yourEntity.getContentEncoding();
          }
          @Override
          public long getContentLength() {
              return yourEntity.getContentLength();
          }
          @Override
          public Header getContentType() {
              return yourEntity.getContentType();
          }
          @Override
          public boolean isChunked() {
              return yourEntity.isChunked();
          }
          @Override
          public boolean isRepeatable() {
              return yourEntity.isRepeatable();
          }
          @Override
          public boolean isStreaming() {
              return yourEntity.isStreaming();
          } // CONSIDER put a _real_ delegator into here!
  
          @Override
          public void writeTo(OutputStream outstream) throws IOException {
  
              class ProxyOutputStream extends FilterOutputStream {
                  /**
                   * @author Stephen Colebourne
                   */
  
                  public ProxyOutputStream(OutputStream proxy) {
                      super(proxy);
                  }
                  public void write(int idx) throws IOException {
                      out.write(idx);
                  }
                  public void write(byte[] bts) throws IOException {
                      out.write(bts);
                  }
                  public void write(byte[] bts, int st, int end) throws IOException {
                      out.write(bts, st, end);
                  }
                  public void flush() throws IOException {
                      out.flush();
                  }
                  public void close() throws IOException {
                      out.close();
                  }
              } // CONSIDER import this class (and risk more Jar File Hell)
  
              class ProgressiveOutputStream extends ProxyOutputStream {
                  public ProgressiveOutputStream(OutputStream proxy) {
                      super(proxy);
                  }
                  public void write(byte[] bts, int st, int end) throws IOException {
  
                      // FIXME  Put your progress bar stuff here!
  
                      out.write(bts, st, end);
                  }
              }
  
              yourEntity.writeTo(new ProgressiveOutputStream(outstream));
          }
  
      };
      ProgressiveEntity myEntity = new ProgressiveEntity();
  
      post.setEntity(myEntity);
      HttpResponse response = client.execute(post);
  
      return getContent(response);
  
  }
  
  public static String getContent(HttpResponse response) throws IOException {
      BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
      String body = "";
      String content = "";
  
      while ((body = rd.readLine()) != null)
      {
          content += body + "\n";
      }
      return content.trim();
  }
  </code></pre>
  
  <p>my gradle dependencies </p>
  
  <pre><code>dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:21.0.3'
  
  compile "org.apache.httpcomponents:httpmime:4.3.6"
  compile "org.apache.httpcomponents:httpclient:4.3.6"
  compile "org.apache.httpcomponents:httpcore:4.2.4"
  </code></pre>
  
  <p>}</p>
  
  <p>build run error message:</p>
  
  <pre><code>Error:Execution failed for task ':app:packageDebug'.
  </code></pre>
  
  <blockquote>
    <p>Duplicate files copied in APK META-INF/DEPENDENCIES
        File 1: /home/bekir/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.3/f91b7a4aadc5cf486df6e4634748d7dd7a73f06d/httpcore-4.3.3.jar
        File 2: /home/bekir/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.3/f91b7a4aadc5cf486df6e4634748d7dd7a73f06d/httpcore-4.3.3.jar
          }
        }
        android {
          packagingOptions {
            exclude 'META-INF/DEPENDENCIES'
    You can ignore those files in your build.gradle:
        Origin 2: /home/bekir/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.3.6/cf8bacbf0d476c7f2221f861269365b66447f7ec/httpmime-4.3.6.jar
        Origin 1: /home/bekir/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.3/f91b7a4aadc5cf486df6e4634748d7dd7a73f06d/httpcore-4.3.3.jar
        Path in archive: META-INF/DEPENDENCIES
    :app:packageDebug
    Error:duplicate files during packaging of APK /home/bekir/AndroidStudioProjects/uploadfile/app/build/outputs/apk/app-debug-unaligned.apk
    :app:validateDebugSigning
    :app:processDebugJavaRes UP-TO-DATE
    :app:dexDebug UP-TO-DATE
    :app:preDexDebug UP-TO-DATE
    :app:compileDebugJava UP-TO-DATE
    :app:generateDebugSources UP-TO-DATE
    :app:processDebugResources UP-TO-DATE
    :app:processDebugManifest UP-TO-DATE
    :app:mergeDebugResources UP-TO-DATE
    :app:generateDebugResources UP-TO-DATE
    :app:generateDebugResValues UP-TO-DATE
    :app:mergeDebugAssets UP-TO-DATE
    :app:generateDebugAssets UP-TO-DATE
    :app:generateDebugBuildConfig UP-TO-DATE
    :app:compileDebugRenderscript UP-TO-DATE
    :app:compileDebugAidl UP-TO-DATE
    :app:prepareDebugDependencies
    :app:prepareComAndroidSupportSupportV42103Library UP-TO-DATE
    :app:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE
    :app:preReleaseBuild
    :app:preDebugBuild
    :app:compileDebugNdk UP-TO-DATE
    :app:checkDebugManifest
    :app:preBuild</p>
  </blockquote>
  
  <p>Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for release as it may be conflicting with the internal version provided by Android.
           In case of problem, please repackage it with jarjar to change the class packages
           In case of problem, please repackage it with jarjar to change the class packages
  Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for release as it may be conflicting with the internal version provided by Android.
           In case of problem, please repackage it with jarjar to change the class packages
  Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for debug as it may be conflicting with the internal version provided by Android.
           In case of problem, please repackage it with jarjar to change the class packages
  Information:Gradle tasks [:app:assembleDebug]
  Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for debug as it may be conflicting with the internal version provided by Android.</p>
  
  <pre><code>Error:Execution failed for task ':app:packageDebug'.
  </code></pre>
  
  <blockquote>
    <p>Duplicate files copied in APK META-INF/DEPENDENCIES
        File 1: /home/bekir/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.3/f91b7a4aadc5cf486df6e4634748d7dd7a73f06d/httpcore-4.3.3.jar
        File 2: /home/bekir/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.3/f91b7a4aadc5cf486df6e4634748d7dd7a73f06d/httpcore-4.3.3.jar</p>
  </blockquote>