gpt4 book ai didi

Android Studio 构建 transformClassesWithJarMergingForDebug 报错

转载 作者:太空狗 更新时间:2023-10-29 14:52:29 26 4
gpt4 key购买 nike

我在重新创建的新项目中遇到 Android Studio 构建问题。请按照我所做的去做,如果有人知道如何继续,请告诉我!

我开始了一个新项目,选择“抽屉导航 Activity ”作为我的初始起点(可以是我猜的任何东西)。我立即构建了我的新“空”应用程序并在真实设备(nexus 9)上对其进行了调试。一切正常。

然后我添加了一个我想用于创建 xlsx 文件的 office 文件创建库,因此我将以下行添加到我的 build.gradle 应用程序文件(在依赖项中):

compile 'org.apache.poi:poi-ooxml:3.13'

我重新同步并且构建正常(几秒钟内)。然后我尝试在真实设备上调试它,但它不再构建(尝试构建需要 10 倍的时间)并且我得到一个错误:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_25\bin\java.exe'' finished with non-zero exit value 1

我查了一下这个,我看到的每个地方都在告诉其他人使用“multiDex”。我知道这适用于超过 65K 方法的情况。我想对于 POI 库,我可能会超出这个范围。在找不到其他替代方案后,我通过将以下行添加到我的 build.gradle 应用程序文件来实现 multiDex:

multiDexEnabled true
compile 'com.android.support:multidex:1.0.1'

并将以下行添加到我的 list 文件中:

android:name="android.support.multidex.MultiDexApplication"

我假设我已经实现了 multiDex ok。该应用程序构建正常,但当我尝试调试它时遇到此错误(大约需要 7 秒才能到达此处):

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/xmlbeans/xml/stream/Location.class

没有其他文件被篡改。如果我从 build.gradle 中删除编译 POI 库行,那么一切正常。我把图书馆放回去了,它以同样的方式失败了。我试图弄清楚如何告诉它忽略 xmlbeans 中的重复库(其他帖子再次告诉编码人员这是需要完成的)但我不确定该怎么做以及这是否是最好的前进方式即我还应该使用 multiDex'ing 吗?

我断断续续花了几天时间才走到这一步,这是我第一次使用 Android Studio - 从 Eclipse 迁移出来,因为我厌倦了好几天都无法构建我的应用程序原因。

知道这一切意味着什么的人...请帮助我!

编辑:我已经清理并重建了项目,也尝试删除构建文件但无济于事。


程序统计:

Android Studio 1.5.1
Build #AI-141.2456560, built on December 1, 2015
JRE: 1.8.0_25-b18 amd64
JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation
Gradle ver: 2.8
Android plugin ver 1.5.0

'build.gradle' 应用文件

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
applicationId "com.kane.testproject"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'org.apache.poi:poi-ooxml:3.13'
compile 'com.android.support:multidex:1.0.1'
}

'AndroidManifest.xml'文件

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.kane.testproject"
xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:name="android.support.multidex.MultiDexApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>

最佳答案

build.gradle(Module app)中添加以下行

dexOptions {
javaMaxHeapSize "2g"
}

关于Android Studio 构建 transformClassesWithJarMergingForDebug 报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34203143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com