com.android.build.transform.api.TransformException 与 android 谷歌播放服务

Posted

技术标签:

【中文标题】com.android.build.transform.api.TransformException 与 android 谷歌播放服务【英文标题】:com.android.build.transform.api.TransformException with android google play services 【发布时间】:2016-01-05 13:46:22 【问题描述】:

我正在尝试将 Google Plus 集成到我的应用程序中,但它显示以下错误。下面是异常和gradle

错误:任务 ':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 .7.0_79\bin\java.exe'' 以非零退出值 1 结束

app build.gradle

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android 
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig 
        applicationId "xxx.com.xxxx"
        multiDexEnabled true
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        
    


dependencies 
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    //depend-materialcalendar
    compile 'com.prolificinteractive:material-calendarview:0.8.1'
    compile 'com.android.support:gridlayout-v7:23.0.1'
    compile 'com.android.support:cardview-v7:23.0.1'
    compile 'com.melnykov:floatingactionbutton:1.3.0'
    //depend-cometchat
    compile 'com.yalantis:contextmenu:1.0.4'
    compile 'com.google.code.gson:gson:2.3'
    compile files('libs/appcompat_v7.jar')
    compile files('libs/cometchat-sdk.jar')
    compile files('libs/jsoup-1.7.3.jar')
    compile files('libs/picasso-2.5.2.jar')
    compile 'com.google.android.gms:play-services:8.1.0'
    compile 'com.google.android.gms:play-services-base:8.1.0'
    compile 'com.google.android.gms:play-services-maps:8.1.0'
    compile files('libs/volley.jar')
    compile files('libs/PayPalAndroidSDK.jar')
    compile files('libs/gcm.jar')
    compile 'com.soundcloud.android:android-crop:1.0.1@aar'
    compile 'com.facebook.android:facebook-android-sdk:4.6.0'
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.google.android.gms:play-services-plus:8.1.0'
    compile 'com.google.android.gms:play-services-identity:8.1.0'


项目 build.gradle

buildscript 
    repositories 
        jcenter()
    
    dependencies 
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.google.gms:google-services:1.4.0-beta3'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    


allprojects 
    repositories 
        jcenter()
    

【问题讨论】:

【参考方案1】:

    尝试清理您的项目,然后重新构建。

    尝试在您的应用程序build.gradle 文件中添加multiDexEnabled true。

    defaultConfig 
        multiDexEnabled true
    
    

【讨论】:

在谷歌开发者上搜索..它说应用程序大小超过 65k。我认为这是真的,因为刚刚与示例应用程序集成并且它的工作正常 另外,这可能不是 dex 问题,根据这个答案:***.com/a/33026958/1174453 删除 build 和 app/build 文件夹也可以解决这个问题 - 尽管我确实必须排除无关的支持 -在此之前与 facebook-sdk 一起使用的 v4 库,这意味着 65k 方法限制至少部分在这里起作用。 删除构建文件夹和删除支持库对我有用。【参考方案2】:

我已经在 Application 类中添加了这个:

 @Override
protected void attachBaseContext(Context base) 
    super.attachBaseContext(base);
    MultiDex.install(this);

在我的应用程序 build.grade 文件中:

 defaultConfig 
    applicationId "com.example.android.exampleapp"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true


并将其添加为依赖项:

     compile 'com.android.support:multidex:1.0.0'

这解决了我的问题。谢谢

【讨论】:

【参考方案3】:

当我将 Android Gradle 插件版本从 1.3.0 移动到 1.5.0 时,我在当前项目中遇到了同样的问题。

除了java返回错误代码2之外,该错误与OP的错误几乎相同。

如果最终发现我在应用程序的两个不同模块中包含相同的 jar 文件。

版本 1.3.0 可以毫无问题地处理这个问题,对于版本 1.5.0,我必须将 jar 文件替换为包含单个 jar 文件副本的单独模块的依赖项。

【讨论】:

【参考方案4】:

我尝试过添加

   multiDexEnabled true

但是没有用。然后我将构建版本从 23.0.2 更改为

  buildToolsVersion "23.0.3"

然后就可以了。希望对你有帮助。

【讨论】:

【参考方案5】:

尝试在你的 gradle 中添加这些行

dexOptions 
    javaMaxHeapSize "4g"

【讨论】:

以上是关于com.android.build.transform.api.TransformException 与 android 谷歌播放服务的主要内容,如果未能解决你的问题,请参考以下文章