Android Studio TransformException:错误:任务':app:transformClassesWithDexForDebug'的执行失败
Posted
技术标签:
【中文标题】Android Studio TransformException:错误:任务\':app:transformClassesWithDexForDebug\'的执行失败【英文标题】:Android Studio TransformException : Error:Execution failed for task ':app:transformClassesWithDexForDebug'Android Studio TransformException:错误:任务':app:transformClassesWithDexForDebug'的执行失败 【发布时间】:2016-02-28 05:02:58 【问题描述】:当我尝试使用 android Studio 运行应用程序时出现以下异常:
错误:任务 ':app:transformClassesWithDexForDebug' 执行失败。 com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_05 \bin\java.exe'' 以非零退出值 2 结束
【问题讨论】:
请尝试以下操作:***.com/a/32889565 希望对您有所帮助。 您的com.android.tools.build:gradle
版本是什么?
查看***.com/questions/33717886/…
【参考方案1】:
我有同样的问题,经过几个小时的研究,我找到了解决方法。
你应该修复 build.gradle :
android
compileSdkVersion ..
buildToolsVersion '...'
defaultConfig
...
targetSdkVersion ..
multiDexEnabled true // this line will solve this problem
如果您的应用中的方法引用数量超过 65K 限制,您的应用可能无法编译。
有关如何执行此操作的信息,请参阅 Selectively compiling APIs into your executable 和 Building Apps with Over 65K Methods
【讨论】:
你是怎么想到这个解决方案的@Danh DC?为我工作,但想知道你是怎么得到这个的。 @MarkaA 如果您的应用程序中的方法引用数量超过 65K 限制,您的应用程序可能无法编译。在编译您的应用程序时,您可以通过仅指定您的应用程序使用的特定 Google Play 服务 API 而不是所有这些 API 来缓解此问题。有关如何执行此操作的信息,请参阅 developers.google.com/android/guides/setup#split 和 developer.android.com/tools/building/multidex.html 明确地说,build.gradle
中的内容是multiDexEnabled true
。 Android Studio 不会自动执行此操作也有点愚蠢,特别是当依赖项/库似乎计入 65K 限制时。我的应用在其第一方代码中肯定没有接近 65K 的方法引用。【参考方案2】:
在我使用 android studio 2.0 preview 4 的情况下,我突然遇到了这个问题,添加 multiDexEnabled true
没有帮助,而且清理和重建也没有帮助。
所以为我解决的唯一方法是删除该文件:
YOUR_APP_NAME\app\build\intermediates
并运行应用程序,它就可以工作了。
【讨论】:
在我这样做之后,我又遇到了一些关于在中间体中创建一些目录时遇到困难的构建错误,但是手动添加到我能够构建的项目中。谢谢@humazed! 谢谢。这是在我的情况下(AS 3.0.1)在 Windows 10 Pro 上修复它的唯一方法。我尝试了其他方法(重启AS、清空项目、重建项目、使缓存无效/重启...)均无济于事。【参考方案3】:修改模块级build.gradle文件
android
...
// Enabling multidex support.
multiDexEnabled true
...
添加依赖 编译'com.android.support:multidex:1.0.0'
在您的清单中添加 MultiDexApplication 类
<manifest ...>
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
http://developer.android.com/studio/build/multidex.html
【讨论】:
【参考方案4】:对我来说,关闭所有其他 Android Studio 解决了这个问题。
收到错误时我打开了 3 个 android studio,关闭 2 个后我没有收到任何错误。
不需要添加任何与multiDex相关的代码!
似乎有一些与 jvm 相关的内存问题。
【讨论】:
【参考方案5】:刚刚解决了这个问题。就我而言,重建项目对我有帮助。 因此,请尝试重建您的项目。
【讨论】:
【参考方案6】:添加以下行:
multiDexEnabled true
在build.gradle
的defaultConfig
内
像这样:
defaultConfig
multiDexEnabled true
【讨论】:
【参考方案7】:在我的情况下,将 buildToolsVersion 从“24”更改为“23.0.2”,即可解决问题。这将解决问题,尤其是在您使用低于版本 2 的旧 Android Studio 时。
【讨论】:
【参考方案8】:我从here找到了答案:
使用以下内容更改build.grade
文件后
minSdkVersion 21
targetSdkVersion 25
multiDexEnabled 真
工作正常。
【讨论】:
【参考方案9】:就我而言 - 清理项目并重建
【讨论】:
这应该是评论,而不是答案。【参考方案10】:在我的情况下,我在 Expo 和 Android Studio 之间来回切换以获取原生反应。 Expo想要一个应用程序名称来构建,而Android Studio想要另一个,一旦我把它放回android studio想要它构建和部署的名称。
世博会
AppRegistry.registerComponent('main', () => App);
Android 工作室
AppRegistry.registerComponent('AwesomeProject', () => App);
【讨论】:
以上是关于Android Studio TransformException:错误:任务':app:transformClassesWithDexForDebug'的执行失败的主要内容,如果未能解决你的问题,请参考以下文章
markdown AWS Cloud Experience Porto Alegre,Transforme sua empresa com Big Data
Transforme结构:位置编码 | Transformer Architecture: The Positional Encoding