com.android.build.transform.api.TransformException
我正在尝试整合谷歌login,在我的应用程序,我添加这些库:
compile 'com.google.android.gms:play-services-identity:8.1.0' compile 'com.google.android.gms:play-services-plus:8.1.0'
也join到项目构buildgradle中:
classpath 'com.google.gms:google-services:1.4.0-beta3'
也添加插件到应用程序构buildgradle:
apply plugin: 'com.google.gms.google-services'
然后添加所需的权限,但是当我尝试运行我的应用程序,收到此错误:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'. com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0\bin\java.exe'' finished with non-zero exit value 2
尝试将multiDexEnabled true
添加到您的应用程序build.gradle文件。
defaultConfig { multiDexEnabled true }
编辑:
先试试史蒂夫的回答 。 如果它频繁发生或者第一步没有帮助multiDexEnabled
可能会有所帮助。 对于那些喜欢深入挖掘的人来说,这里有几个相似的问题(有更多的答案):
:app:dexDebug ExecException用非零的退出值2结束
错误:任务':app:dexDebug'的执行失败。 com.android.ide.common.process.ProcessException
另一件要注意的是,你不使用
compile 'com.google.android.gms:play-services:8.3.0'
这将导入所有的播放服务,它只会比hello世界多一点,超过单个dex APK的65535方法限制。
总是只指定您需要的服务,例如:
compile 'com.google.android.gms:play-services-identity:8.3.0' compile 'com.google.android.gms:play-services-plus:8.3.0' compile 'com.google.android.gms:play-services-gcm:8.3.0'
我只需要清理我的项目,然后成功build立之后。
当我在项目中添加一些新的方法时,这个错误开始出现。 我知道我远没有接近65k的方法限制,并且不想为我的项目启用multiDex支持,只要我能帮上忙。
我通过增加可用于:app:transformClassesForDexForDebug
任务的内存来解决这个问题。 我通过在gradle.build
指定javaMaxHeapSize来做到这gradle.build
。
gradle.build
android { ... dexOptions { javaMaxHeapSize "4g" //specify the heap size for the dex process } }
在对这个问题的其他常见解决scheme没有成功之后,我尝试了这个方法:
- 运行一个项目
clean
- 手动从我的项目中删除
/app/build
和/build
目录 - 使Gradlecaching无效并重新启动Android Studio
错误
错误:任务>':app:transformClassesWithDexForDebug'的执行失败。 com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_45。 jdk / Contents / Home / bin / java''以非零的退出值1结束
注意:增加可用于DEX任务的内存可能会导致内存链接较低的系统出现性能问题。
在Android Studio 1.5.1和Gradle 1.5.0中,我也遇到类似的问题。 我只需从依赖关系中删除不需要的库,这些依赖关系可能会自动添加到我的应用程序的build.gradle文件中。 一个是:编译“com.google.android.gms:play-services:8.4.0”。 因此,对于最佳做法,尽量只包括特定的播放服务库,例如仅包含广告
dependencies { compile 'com.google.android.gms:play-services-ads:8.4.0' }
虽然
defaultConfig { multiDexEnabled true }
这也将解决这个问题,但在gradle控制台中提供了很多Notes,使得在构build过程中发现其他实际问题
你可以看到Android的文档
android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.0' }
的Manifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application> </manifest>
我正在使用AS 1.5.1,遇到同样的问题。 但是只是清理这个项目就不行,所以我试了一下。
- 清洁的项目
- 重新启动AS
- 同步项目
这与我工作,所以我希望这有助于。
在我的情况下,将buildToolsVersion从“24”更改为“23.0.2”,解决问题。
我有同样的问题,当我通过git回滚到旧版本,并且该版本有一个第三方api的以前的.jar库,由于某种原因,原来这两个相同的SDK的jar,只是不同的版本在/ libs文件夹。
首先删除中间文件您的应用程序文件夹\应用程序\build设\中间体或清理您的项目,然后重build。
Thent补充
multiDexEnabled true
即
defaultConfig { multiDexEnabled true }
这对我有用
在我的情况下,发生exception,因为所有谷歌播放服务扩展不具有相同的版本如下
compile 'com.google.android.gms:play-services-plus:9.8.0' compile 'com.google.android.gms:play-services-appinvite:9.8.0' compile 'com.google.android.gms:play-services-analytics:8.3.0'
当我改变它的时候它工作
compile 'com.google.android.gms:play-services-plus:9.8.0' compile 'com.google.android.gms:play-services-appinvite:9.8.0' compile 'com.google.android.gms:play-services-analytics:9.8.0'
我解决了下一个:
我configuration了multidex
在build.gradle你需要添加下一个。
android { ... defaultConfig { ... // Enabling multidex support. multiDexEnabled true ... } dexOptions { incremental true maxProcessCount 4 // this is the default value javaMaxHeapSize "2g" } ... } dependencies { ... compile 'com.android.support:multidex:1.0.1' ... }
在local.properties中添加下一个
org.gradle.parallel=true org.gradle.configureondemand=true org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
之后,进入Application类,你也需要添加Multidex。
public class MyApplication extends MultiDexApplication { @Override public void onCreate() { super.onCreate(); //mas codigo } @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } }
不要忘记将行代码添加到Manifest.xml中
<application ... android:name=".MyApplication" ... />
这就是为了解决这个问题:任务执行失败:app:transformClassesWithDexForDebug。 用javaMaxHeapSize“2g”检查build.gradle,并且local.properties org.gradle.jvmargs = -Xmx2048m是2千兆字节。
如果您使用的是最新的gradle版本,即classpath 'com.android.tools.build:gradle:1.5.0' and classpath 'com.google.gms:google-services:1.4.0-beta3'
,则尝试更新最新从SDKpipe理器中支持respository并重build整个项目。
如果您需要为cordova插件添加此引用,请在plugin.xml文件中添加下一行。
<framework src="com.android.support:support-v4:+" />
如果不同的依赖关系具有相同的jar也会导致此构build错误。
例如:
compile('com.ab:library1'); compile('com.cd:library2');
如果“library1”和“library2”有一个名字为xxx.jar
jar xxx.jar
,会出现这样的错误。
它发生在我身上,因为Eclipse内存泄漏。 我不得不重新启动我的电脑。
我改变了几个PNG和build中的编号,现在我明白了。 没有任何清洁和重新启动的帮助。 禁用即时运行为我修复。 因人而异
我有相同的select,一旦我closures即时运行,它在我的API16设备上工作得很好,但在API24设备,它运行正常与即时运行。
希望这可以帮助有同样问题的人
只需转到生成 – 编辑生成types – 属性选项卡 – 生成types版本并将其降级到版本23.0.1。 点击确定。 这适用于android studio 1.5。 它为我工作。
这个代码解决了问题
defaultConfig { multiDexEnabled true }
为了实现谷歌login最简单的方式访问: 谷歌loginAndroid
也试试
dexOptions { javaMaxHeapSize "4g" }
也为不同的服务保持相同的版本号。
我通过添加解决了这个问题:在build.gradle
:
defaultConfig { multiDexEnabled true }
在local.properties
,
org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
提及依赖:
compile 'com.android.support:multidex:1.0.1'
清洁和重build。
写的答案是在gradle把defaultConfig {multiDexEnabled true}然后在清单中的应用程序名称 android:name =“android.support.multidex.MultiDexApplication”希望这个答案是一个人的hellpful
- ScrollView中的MapFragment
- 如何在Google Play开发者控制台中取消发布应用
- Google地图精简版模式会在RecyclerView中引起混乱
- GoogleSignatureVerifier签名无效的消息(谷歌播放服务9.0.0)
- 如何在Android模拟器中下载Google Play服务?
- Google Play服务库更新并丢失符号@ integer / google_play_services_version
- 阿尔法testing人员在哪里下载Google Play Android应用?
- 在Android模拟器上运行Google Maps v2
- 如何在Genymotion虚拟设备上安装Google框架(Play,Accounts等)?