- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在我的项目中使用了多个 Android 库和模块。每个都有自己的 v4.Support 库。我收到了 java.util.zip.ZipException: duplicate entry 。 当我在项目中搜索重复的类文件时,这些类有多个文件,因为每个库中有多个 v4.support 库。我知道这个问题在这里被问过很多次,但对我没有任何帮助。
我的问题是:如何删除这些多个 v4.support 文件?我只想把这个 v4.support 库放一次,所有其他模块都应该从那里引用它。我如何实现这一点?
以下是我的build.gradle脚本
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
//classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
classpath 'io.fabric.tools:gradle:1.15.2'
}
}
apply plugin: 'android'
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile('com.crashlytics.sdk.android:crashlytics:2.2.3@aar') {
transitive = true
}
compile('com.android.support:multidex:1.0.0')
//compile ('com.android.support:appcompat-v7:22.1.0')
compile project(':..:..:..:..:..:..:android_libraries:appcompat')
compile project(':..:..:..:..:..:..:android_libraries:facebook')
compile project(':..:..:..:..:..:..:android_libraries:google_play_services:libproject:google-play-services_lib')
compile project(':..:..:..:..:..:..:android_libraries:SlidingMenu')
compile project(':..:..:..:..:..:..:android_libraries:StickingGridViewLibrary')
compile project(':..:..:..:..:..:..:android_libraries:view_pager_library')
compile project(':..:..:..:..:..:..:android_libraries:ZXing2.3')
compile project(':..:..:..:..:..:..:android_libraries:xyz')
compile project(':..:..:..:..:..:..:android_libraries:apptentive')
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
versionCode 1
versionName "1.0"
minSdkVersion 15
targetSdkVersion 21
// Enabling multidex support.
multiDexEnabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
ant.importBuild './../../../../../../buildscripts/wlbuild.xml'
apt {
arguments {
androidManifestFile variant.outputs[0].processResources.manifestFile
// if you have multiple outputs (when using splits), you may want to have other index than 0
resourcePackageName 'com.kohls.mcommerce.opal'
// If you're using Android NBS flavors you should use the following line instead of hard-coded packageName
// resourcePackageName android.defaultConfig.applicationId
// You can set optional annotation processing options here, like these commented options:
// logLevel 'INFO'
// logFile '/var/log/aa.log'
}
}
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/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... 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')
}
buildDir = './../../../../../../build/native'
lintOptions {
abortOnError false
}
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
}
我遇到了这样的错误。每次我清理项目时,它都会成功遵守。但是,当我尝试发出 Run 命令时,它会显示以下类型的错误。
Execution failed for task ':packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: android/support/v4/media/TransportMediatorCallback.class
最佳答案
当我解决上述问题并找到克服它的方法时。 packageAllDebugClassesForMultiDex 错误的主要原因与您在 Stackoverflow 的所有其他帖子中发现的相同,即您必须有一些类文件在项目中多次可用。就我而言,我在上面的项目中有很多模块,如 Facebook、谷歌支付服务和滑动菜单等。所有这些模块都有自己的 v4.support jar 文件副本。我所做的是从所有这些库 libs 文件夹中删除所有 v4.support 文件。然后从我的 sdk 添加对 v4.support 库的依赖,即来自 Android Studio 项目结构的 com.android.support 库。为此..
2* 一一选择这些模块中的每一个。
3* 在最后一个名为 Dependency 的选项卡中,如果您只有 v4.support lib(或有问题的)在该模块的 libs 文件夹中。
4* 单击 + 添加 v4.support 库,然后添加库并选择v4.support 来自您的 sdk 的库。
完成了。清理项目并重新构建它。packageAllDebugClassesForMultiDex 问题已经解决。
至于传递依赖,如果你在构建项目时知道导致Duplicate file in dex错误的确切依赖,你可以将其排除为belo
compile(project(':..:..:..:..:..:..:android_libraries:walletsdkandroidmodule')) {
exclude group: 'com.google.code.gson'
}
如果你想要任何模块中的任何传递依赖,例如。
compile('com.crashlytics.sdk.android:crashlytics:2.2.3@aar') {
transitive = true
}
关于java.util.zip.ZipException : duplicate entry :how to overcome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30567821/
我只想提取一个普通的 zip 文件,但它总是失败。这是我现在使用的代码: private File downloadPath = new File(Environment.getExternalSto
我正在使用Firebase和API.AI开发Android聊天机器人应用程序。 将firebase UI库添加到项目后,我得到了 java.util.zip.ZipException:重复条目运行时异
我正在更新版本 3.4 的 Android studio 和插件(版本 5.1.1 的 gradle)当我尝试构建项目时,出现错误 java.util.zip.ZipException: zip fi
我遇到以下异常 java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Nati
我正在尝试将 zip 文件下载到 SD 卡。我正确下载了它,但是当我打开下载的文件(使用 ZipFile)时,我得到了这个 ZipException(“找不到中央目录条目”)。 Internet 文件
从今天早上开始(我更新了一些插件,并更新了 mac os X),每当系统想要读取 jar/zip 文件时,我都会收到 ZipException。起初我以为这是新版本插件中的一个错误,但它似乎是相当低级
这个问题在这里已经有了答案: Invalid Entry Compressed Size (2 个答案) 关闭 9 年前。 我正在尝试创建一种方法,只需一个步骤即可将多个 zip 存档相互融合。该代
我使用 Tomcat 8 和此类 Jersey 的动态 Web 项目依赖项。 com.sun.jersey jersey-client
我正在尝试将MoPub集成到我的应用程序中。 我将SDK导入了我的应用程序: compile('com.mopub.sdk.android:mopub:4.4.1@aar') { transi
Server: jboss-5.1.0 Java Version: jdk1.6.0_14 Deployment Method: ant v1.7 Error: 08:40:04,260 WARN [
我从事 Java 编程已有大约 15 年了。虽然这是一个基本问题,但这并不是因为故意无视 Java API 或阅读文档。坦率地说,我真的很震惊,我遇到了一种情况,我无法使用命令行工具创建一个简单的 j
我正在构建一个项目,其中有两个类(A 和 B)都继承自 BaseClass。 A 和 B 两个类都有 @Parceler 注释。当我为操作系统版本 4.1.2 (API 16) 的手机构建它时,它给了
我正在尝试使用以下命令更新现有 jar(在此示例中为 antlr)中的文件: jar -uf antlrworks-1.2.3.jar org/antlr/codegen/templates/Java
我一直在尝试让 ant 执行一些用 junit 编写的测试,但没有成功。任何建议将不胜感激。我对 ant 和 Java 都很陌生,所以请耐心等待。 作为快速总结,我正在做的是尝试让 ant 执行一个非
我正在将应用程序从 2.3 升级到 Nougat (SDK 25)。当我添加 com.android.support:appcompat-v7:25.0.0 以支持 ActivityCompat.re
这个问题在这里已经有了答案: How to resolve java.util.zip.ZipException? (11 个答案) 关闭 7 年前。 我正在尝试使用新的 multidex 选项,但
我对使用 Java 处理 zip 文件完全陌生,我遇到了一个奇怪的情况。 这是我用来解压的方法: public void unzip(File zipFile, File rootDir) throw
我在我的 Android 应用程序中使用 EBS 支付网关。 EBS 在其文件夹中包含 volley 库。我还为我的项目使用了 volley 库。所以我得到了这样的异常。 Execution fail
本文整理了Java中java.util.zip.ZipException.getLocalizedMessage()方法的一些代码示例,展示了ZipException.getLocalizedMess
本文整理了Java中java.util.zip.ZipException.()方法的一些代码示例,展示了ZipException.()的具体用法。这些代码示例主要来源于Github/Stackover
我是一名优秀的程序员,十分优秀!