Java 渐变生成重复条目
我正在建设一个有图书馆的项目。我已经将它导入了我的工作室,为它创建了一个“build.gradle”(因为我有另一个问题“没有名为default的配置”或类似的smth)。有了新的构建文件,构建就正常了。但部署apk以启动并非如此 我在尝试将我的应用程序部署到手机时遇到了重复输入的问题。确切的问题是: 错误:任务“:app:transformClassesWithJarMergingForDebug”的执行失败。 com.android.build.api.transform.TransformException:java.util.zip.zipeException:重复条目:android/support/v4/hardware/display/DisplayManagerCompat.class 我已经看到很多关于复制品的问题,但是没有一个答案对我有帮助。我尝试排除“support-v4”模块,尝试删除依赖项等等。一切似乎都不起作用,问题依然存在 以下是我的gradle文件: aFileChooser build.gradleJava 渐变生成重复条目,java,android,Java,Android,我正在建设一个有图书馆的项目。我已经将它导入了我的工作室,为它创建了一个“build.gradle”(因为我有另一个问题“没有名为default的配置”或类似的smth)。有了新的构建文件,构建就正常了。但部署apk以启动并非如此 我在尝试将我的应用程序部署到手机时遇到了重复输入的问题。确切的问题是: 错误:任务“:app:transformClassesWithJarMergingForDebug”的执行失败。 com.android.build.api.transform.Transform
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
}
android {
compileSdkVersion 22
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 18
targetSdkVersion 22
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:support-v4:22.1.1'
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "ua.com.vendetta8247.testmate"
minSdkVersion 18
targetSdkVersion 22
versionCode 1
versionName "1.0"
multiDexEnabled = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:support-v4:22.1.1'
compile ('com.android.support:appcompat-v7:22.2.1')
compile ('com.android.support:recyclerview-v7:22.2.1')
compile ('com.android.support:cardview-v7:22.2.1')
compile ('com.android.support:design:22.2.1')
compile (project(':libs:aFileChooser'))
}
app build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
}
android {
compileSdkVersion 22
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 18
targetSdkVersion 22
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:support-v4:22.1.1'
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "ua.com.vendetta8247.testmate"
minSdkVersion 18
targetSdkVersion 22
versionCode 1
versionName "1.0"
multiDexEnabled = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:support-v4:22.1.1'
compile ('com.android.support:appcompat-v7:22.2.1')
compile ('com.android.support:recyclerview-v7:22.2.1')
compile ('com.android.support:cardview-v7:22.2.1')
compile ('com.android.support:design:22.2.1')
compile (project(':libs:aFileChooser'))
}
一般构建
sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
无论我做什么尝试,我都会得到例外。如果我删除aFileChooser中的“依赖项”,则无法编译这些文件,因为它们缺少v4文件
更新1
我已经按照一个答案中的建议运行了gradle-q dependencies-yourProject:dependencies--configuration compile
。以下是我的输出:
+--- com.android.support:appcompat-v7:22.2.1
+--- com.android.support:recyclerview-v7:22.2.1
| \--- com.android.support:support-annotations:22.2.1
+--- com.android.support:cardview-v7:22.2.1
+--- com.android.support:design:22.2.1
| \--- com.android.support:appcompat-v7:22.2.1
\--- project :aFileChooser
\--- com.android.support:support-v4:22.2.1
\--- com.android.support:support-annotations:22.2.1
经过大约10个小时的搜索,我发现这个问题可能与项目有关。解决办法很简单:
gradle clean
gradle assembleDebug
就这样
现在我将解释为什么会发生这种情况。导入库之后,我必须创建自己的构建脚本,并处理库中的一些属性。我想Android Studio在没有删除以前的配置或类似配置的情况下安装了较新版本的Gradle。这就是为什么我建议那些有类似问题的人在每次你添加一个新库时清理他们的项目经过大约10个小时的搜索后,我发现这个问题可能与项目有关。解决办法很简单:
gradle clean
gradle assembleDebug
就这样
现在我将解释为什么会发生这种情况。导入库之后,我必须创建自己的构建脚本,并处理库中的一些属性。我想Android Studio在没有删除以前的配置或类似配置的情况下安装了较新版本的Gradle。这就是为什么我建议那些有类似问题的人在每次添加新库时清理他们的项目您是否尝试从您的应用程序构建文件中删除此
compile('com.android.support:appcompat-v7:22.2.1')
。根本没用。虽然我很惊讶它没有使项目崩溃。因为我正在扩展使用support v7,所以您是否尝试从您的应用程序构建文件中删除此compile('com.android.support:appcompat-v7:22.2.1')
。根本没用。虽然我很惊讶它没有使项目崩溃。因为我使用的是support v7 Extensively,所以您添加的注释在我看来是错误的:-在Android Studio中使用终端时,gradle clean将不会运行,而不是运行此命令-gradlew clean将运行,并且相同对于gradlew AssembledBug,您添加的注释在我看来是错误的:-在Android Studio中使用终端时,gradle clean不会代替此运行-gradlew clean将工作,gradlew也是如此组合虫