相关疑难解决方法(0)

错误::在打包APK期间重复文件

Android Studio.我在应用程序运行期间遇到了这种错误.

Error:Execution failed for task ':app:packageDebug'. Duplicate files copied in APK META-INF/notice.txt

的build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/ASL2.0'
    }

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.0.1'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'org.codehaus.jackson:jackson-core-asl:1.9.13'
    compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.13'
    compile 'com.octo.android.robospice:robospice:1.4.11'
    compile 'com.octo.android.robospice:robospice-spring-android:1.4.11'
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

EDITED

这些排除选项解决了我的问题:

packagingOptions …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin

144
推荐指数
4
解决办法
7万
查看次数

复制的重复文件(Android Studio 0.4.0)

在我的项目中,我使用Apache的httpcore和httpmime库.将Android Studio更新到0.4.0后,我有这个问题构建我的项目:

Duplicate files copied in APK META-INF/DEPENDENCIES
File 1: /home/slava/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.3.1/f7899276dddd01d8a42ecfe27e7031fcf9824422/httpmime-4.3.1.jar
File 2: /home/slava/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.3.1/f7899276dddd01d8a42ecfe27e7031fcf9824422/httpmime-4.3.1.jar
Run Code Online (Sandbox Code Playgroud)

这是Gradle构建的堆栈跟踪:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':CMO:packageDebug'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:286)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$1.run(DefaultTaskPlanExecutor.java:33)
        at org.gradle.internal.Factories$1.create(Factories.java:22)
        at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:198)
        at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:266)
        at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:135)
        at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:93)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:31)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
        at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166)
        at …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio android-gradle-plugin

111
推荐指数
2
解决办法
7万
查看次数

Android Studio:编译时在APK META-INF/DEPENDENCIES中复制的重复文件

我从Eclipse导出我的项目并使用此链接中的说明导入到Android Studio:http://developer.android.com/sdk/installing/migrate.html

当我构建时,我有一个错误:

Duplicate files copied in APK META-INF/DEPENDENCIES
Run Code Online (Sandbox Code Playgroud)

搜索后,我找到了一个解决方案:添加

packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
}
Run Code Online (Sandbox Code Playgroud)

进入build.gradle.它的工作原理!

但我不明白为什么我有这个错误以及为什么我必须应用该修复.谁能解释一下?

android meta-inf duplicates android-studio

35
推荐指数
4
解决办法
4万
查看次数

Gradle将重复文件放入apk文件中

我正在使用gradle 1.10,android插件的版本是0.8.0.我的android项目需要这两个罐子:jackson-core-asl-1.9.11.jarjackson-mapper-asl-1.9.11.jar.我这样添加文件:

dependencies {
    compile files('libs/jackson-core-asl-1.9.11.jar')
    compile files('libs/jackson-mapper-asl-1.9.11.jar')
}
Run Code Online (Sandbox Code Playgroud)

在gradle构建期间,我收到一条错误消息,指出这两个文件是重复的META-INF/ASL2.0.我通过排除以下文件解决了这个问题:

packagingOptions {
       exclude 'META-INF/ASL2.0'
       exclude 'META-INF/LICENSE'
       exclude 'META-INF/NOTICE'
       exclude 'META-INF/LICENSE.txt'
       exclude 'META-INF/NOTICE.txt'
       exclude 'META-INF/notice.txt'
       exclude 'META-INF/license.txt'
   }
Run Code Online (Sandbox Code Playgroud)

我必须排除所有这些,因为显然所有这些文件都有重复的文件.

我想知道为什么会出现这个问题.这是android插件或gradle本身的错误吗?可以排除上述文件导致任何问题吗?我只是排除上面提到的罐子,或者那些META-INF文件还有什么?我不想排除我的项目需要的任何东西

eclipse android jar gradle

23
推荐指数
1
解决办法
1370
查看次数

如何将库项目添加到Android Studio并使用它?(有些人要求不生效)

如何将一个库项目添加到Android Studio并使用它?(有些问问题不会生效)我试着找到答案如何将一个库项目添加到Android Studio?如何使用Android Studio(不是jar)导入相关项目.但它不起作用.它还说"检索项目的父项时出错:找不到与给定名称'Theme.Sherlock.Light'匹配的资源." 等等

我的sdk工具rev是22.

android intellij-idea android-studio

18
推荐指数
2
解决办法
4万
查看次数

在打包APK期间复制文件

我使用的是Android Studio,我在那里使用了几个库.

我有:

android-query-full.0.25.10.jar
gson-2.2.4-sources.jar
slide-menu.jar
Run Code Online (Sandbox Code Playgroud)

我在build.gradle文件中定义了编译整个libs目录,如下所示:

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
    compile fileTree(dir: 'libs', include: '*.jar')
}
Run Code Online (Sandbox Code Playgroud)

所有这些都很有效.

现在我想添加另一个库"PullToRefresh"我已经将ResSrc文件夹打包到一个jar文件中,其中包含来自eclipse的源代码(就像我使用SlideMenu.jar一样)并将新创建的jar作为库添加到我的项目旁边所有其他人.

当我尝试构建我的项目时,我从gradle中得到以下错误:

Gradle: : duplicate files during packaging of APK C:\Code\TestProject\Test\build\apk\Endilo-debug-unaligned.apk
Gradle: Execution failed for task ':Endilo:packageDebug'.
> Duplicate files copied in APK res/values/attrs.xml
    File 1: C:\Code\TestProject\Test\libs\PullToRefresh.jar
    File 2: C:\Code\TestProject\Test\libs\PullToRefresh.jar
Run Code Online (Sandbox Code Playgroud)

这是非常奇怪的,因为我从同一个jar文件中获取重复项.这里发生了什么!?

android jar gradle android-studio

16
推荐指数
1
解决办法
1936
查看次数

Android gradle项目构建非常缓慢

我们已将Android应用项目更改为使用gradle,但已注意到它的构建速度明显变慢.

之前使用ANT:
6 sek/50 sec(干净)

使用gradle后:
30 sek/80 sec(干净)

我用以下方法描述了解决方案:

gradle assembleDebug --profile
Run Code Online (Sandbox Code Playgroud)

结果报告中的主要任务是:任务:(在构建中没有干净)

:packageDebug   10.690s     
:processDebugResources  8.795s  
:compileDebugJava   7.644s  
Run Code Online (Sandbox Code Playgroud)

我对获取有关这些任务的更多详细信息没有任何想法.

这是正常的吗?怎么可以改善?
我知道新的构建系统仍处于测试阶段,但似乎其他人的构建速度更快.


我已经环顾四周而没有找到解决方案我尝试过几个方面,包括确保使用包含以下内容的gradle.properties文件启用gradle deamon:

org.gradle.daemon=true
org.gradle.jvmargs=-Xms128m -Xmx256m
org.gradle.parallel=true
Run Code Online (Sandbox Code Playgroud)

的build.gradle:

buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://download.crashlytics.com/maven' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
        classpath 'com.google.guava:guava:14.0.1'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
        classpath 'me.tatarka:gradle-retrolambda:1.1.1'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.2'
    }
}

repositories {
    mavenCentral()
    maven { url 'http://download.crashlytics.com/maven' }
}

apply plugin: 'android'
apply plugin: 'crashlytics'
apply plugin: 'retrolambda'
apply plugin: 'android-apt'

dependencies {
    compile fileTree(dir: …
Run Code Online (Sandbox Code Playgroud)

android intellij-idea gradle android-studio

14
推荐指数
1
解决办法
9276
查看次数

错误:在 Android 中添加“拆分”后,找不到 EOCD

我在我的 gradle 中使用以下拆分代码来减小 APK 大小:

splits {
        abi {
            // Enable ABI split

        enable true

        // Clear list of ABIs
        reset()

        // Specify each architecture currently supported by the Video SDK
        include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"

        // Specify that we do not want an additional universal SDK
        universalApk false
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,APK 生成得很好,大小减小并在模拟器上运行。

但是当我尝试从 Build > Build bundles/apks 构建 APK 文件时 在此处输入图片说明

我收到此错误:

Execution failed for task ':app:packageAbcDebug'.
> A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable
   > Could not find EOCD in …
Run Code Online (Sandbox Code Playgroud)

architecture android split

10
推荐指数
2
解决办法
917
查看次数

Android - Apache Mime和httpClient

我正在尝试使用HttpEntity将文件发送到服务器

HttpEntity mpEntity = MultipartEntityBuilder.create().addBinaryBody("file", file, ContentType.create("image/jpeg"), file.getName()).build();

但是为了使用它,我需要将mime库导入到我的项目中.在我的gradle.build中,我添加:

    compile 'org.apache.httpcomponents:httpmime:4.3.4'
Run Code Online (Sandbox Code Playgroud)

我收到以下错误警告,导致库未导入:

WARNING: Dependency org.apache.httpcomponents:httpclient:4.3.4 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
Run Code Online (Sandbox Code Playgroud)

任何想法我需要做什么,所以我可以成功导入这些库?

java apache android http

8
推荐指数
1
解决办法
2411
查看次数

在Android Studio中使用Gradle添加编译时重复文件

我正在尝试将Jackson添加到我的Android Studio项目中,我将其添加到gradle中的依赖项:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:19.+'
    compile 'com.android.support:support-v4:19.+'
    compile files('libs/universal-image-loader-1.9.2.jar')
    compile 'com.google.android.gms:play-services:+'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.4.3'
}
Run Code Online (Sandbox Code Playgroud)

Gradle构建运行正常,但是当我想在Android Studio中运行测试时,它会给我以下错误:

Error:Gradle: duplicate files during packaging of APK .../app/build/outputs/apk/app-debug-unaligned.apk

Error:Gradle: Execution failed for task ':app:packageDebug'.
Run Code Online (Sandbox Code Playgroud)

在APK META-INF/LICENSE文件1中复制的重复文件:... /.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.4.3/a30ec6f59b6d31b2df06fa73925fda2fc7e84486/jackson- annotations-2.4.3.jar文件2:... /.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.4.3/a30ec6f59b6d31b2df06fa73925fda2fc7e84486/jackson-annotations-2.4 .3.jar

我尝试在Android Studio中使缓存失效,但它不起作用.请问有人可以帮助我吗?

android gradle android-studio build.gradle android-gradle-plugin

6
推荐指数
1
解决办法
4614
查看次数