zoukankan      html  css  js  c++  java
  • duplicate files during packaging of apk

    OSChina Android APP 导入到Android Studio中不能运行,发现一小插曲。

    主要实现了开源中国社区 OSC Android 客户端项目源码通过Gradle方式编译 在 Android Studio运行并模拟。

    出现这个报错:

    Error:duplicate files during packaging of APK /Users/lixiphp/AndroidStudioProjects/oschina-android/app/build/outputs/apk/app-debug-unaligned.apk

    Error:Execution failed for task ‘:app:packageDebug’.

    > Duplicate files copied in APK META-INF/NOTICE.txt

    File 1: /Users/lixiphp/AndroidStudioProjects/oschina-android/app/libs/commons-httpclient-3.1.jar

    File 2: /Users/lixiphp/AndroidStudioProjects/oschina-android/app/libs/commons-httpclient-3.1.jar

    这个APP运行的环境是在SDK API 15,如果你改为19或者更高是会报错的。

    JDK=1.6

    target=android-15

    解决方法

    在gradle配置文件加入:

    android {
      packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
      }
    }

    在运行一次APP即可以成功编译。

    OSChina Android APP 源码在Android Studio中运行

    APP build.gradle 配置文件内容为:

    apply plugin: 'android'
    android {
      compileSdkVersion 15
      buildToolsVersion "20.0.0"
    
      defaultConfig {
        applicationId "net.oschina.app"
        minSdkVersion 9
        targetSdkVersion 19
      }
    
      buildTypes {
        release {
          runProguard false
          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
      }
    
      android {
        packagingOptions {
          exclude 'META-INF/DEPENDENCIES.txt'
          exclude 'META-INF/LICENSE.txt'
          exclude 'META-INF/NOTICE.txt'
          exclude 'META-INF/NOTICE'
          exclude 'META-INF/LICENSE'
          exclude 'META-INF/DEPENDENCIES'
          exclude 'META-INF/notice.txt'
          exclude 'META-INF/license.txt'
          exclude 'META-INF/dependencies.txt'
          exclude 'META-INF/LGPL2.1'
        }
      }
    }
    
    dependencies {
      compile files('libs/Android_SDK_v1.2_Fix.jar')
      compile files('libs/commons-httpclient-3.1.jar')
      compile files('libs/core-2.3.0.jar')
      compile files('libs/httpmime-4.1.3.jar')
      compile files('libs/libammsdk.jar')
    }
  • 相关阅读:
    Ehcache(04)——设置缓存的大小
    Ehcache(03)——Ehcache中储存缓存的方式
    Ehcache(02)——ehcache.xml简介
    Ehcache(01)——简介、基本操作
    linux 下开机自动启动tomcat服务
    Git_常用链接
    Android_listview点击失效
    Android_Drawable Bitmap Canvas Paint之间区别[转]
    Android_广播
    Notification(Notification的通知栏常驻、Notification的各种样式、Notification点击无效)
  • 原文地址:https://www.cnblogs.com/netcorner/p/4627754.html
Copyright © 2011-2022 走看看