web-dev-qa-db-ja.com

AndroidのGoogleサインインの実装中に、タスク ':app:transformClassesWithDexForDebug'の実行に失敗しました

AndroidにGoogleサインインを実装しようとしています。

https://developers.google.com/identity/sign-in/Android/start-integrating

しかし、アプリケーションのビルド中に次のエラーが表示されます。

情報:Gradleタスク[:app:generateDebugSources、:app:generateDebugAndroidTestSources、:app:assembleDebug]:app:preBuild UP-TO-DATE:app:preDebugBuild UP-TO-DATE:app:checkDebugManifest:app:preReleaseBuild UP-TO- DATE:app:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE:app:prepareComAndroidSupportDesign2301Library UP-TO-DATE:app:prepareComAndroidSupportSupportV42301Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesAds810Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesAp UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesBase810Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesBasement810Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesIdentity810Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesMeasurement810Library UP-TO-Com-Google:UPprep :app:prepareDebugD ependencies:app:compileDebugAidl UP-TO-DATE:app:compileDebugRenderscript UP-TO-DATE:app:generateDebugBuildConfig UP-TO-DATE:app:generateDebugAssets UP-TO-DATE:app:mergeDebugAssets UP-TO-DATE:app:generateDebugResValues UP-TO-DATE:app:processDebugGoogleServicesパッケージ名「com.questo.rugved.questo」に一致するクライアントが見つかりません:app:generateDebugResources:app:mergeDebugResources UP-TO-DATE:app:processDebugManifest UP-TO-DATE:app: processDebugResources UP-TO-DATE:app:generateDebugSources UP-TO-DATE:app:preDebugAndroidTestBuild UP-TO-DATE:app:prepareDebugAndroidTestDependencies:app:compileDebugAndroidTestAidl UP-TO-DATE:app:processDebugAndroidTestManifest UP-TO-DATE:app:compileDebugAndroidTestRenderscript UP-TO-DATE:app:generateDebugAndroidTestBuildConfig UP-TO-DATE:app:generateDebugAndroidTestAssets UP-TO-DATE:app:mergeDebugAndroidTestAssets UP-TO-DATE:app:generateDebugAndroidTestResValues UP-TO-DATE:app:generateDebugAndroidTestResources UP-TO-DATE :app:mergeDebugAndr oidTestResources UP-TO-DATE:app:processDebugAndroidTestResources UP-TO-DATE:app:generateDebugAndroidTestSources UP-TO-DATE:app:compileDebugJavaWithJavac UP-TO-DATE:app:compileDebugNdk UP-TO-DATE:app:compileDebugSources UP-TO- DATE:app:transformClassesAndResourcesWithExtractJarsForDebug:app:transformClassesWithDexForDebug予期しない最上位の例外:エラー:タスク ':app:transformClassesWithDexForDebug'の実行に失敗しました。 com.Android.build.transform.api.TransformException:com.Android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:プロセス 'command'/usr/lib/jvm/Java-7-Oracle/bin/Java ''がゼロ以外の終了値2で終了しました情報:ビルド失敗情報:合計時間:1分39.994秒情報:1エラー情報:0警告情報:コンソールの完全な出力を参照

私のトップレベルのグラドルは

 
 buildscript {
リポジトリ{
 jcenter()
} 
依存関係{
 classpath 'com.Android .tools.build:gradle:1.3.0 '
 classpath' com.google.gms:google-services:1.4.0-beta3 '
 
 //注:しないでくださいここにアプリケーションの依存関係を配置します。それらは属する
 //個々のモジュールbuild.gradleファイルにある
} 
} 
 
 allprojects {
リポジトリ{
 jcenter()
} 
} 
 
My app level gradle is

<pre>

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

    Android {
        compileSdkVersion 23
        buildToolsVersion '23.0.1'

        defaultConfig {
            applicationId "com.questo.rugved.questo"
            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'
        compile 'com.Android.support:design:23.+'
        compile 'com.google.Android.gms:play-services-identity:8.1.0'
        compile 'com.google.Android.gms:play-services-plus:8.1.0'
    }

助けてください。

13
Rage

たぶん、このリンクはあなたを助けます。 リンク

それは私を助けました:

Android {
...
defaultConfig {
    ...
    multiDexEnabled true
    }
}
20
Alberto Crespo

この問題は、依存関係が複数含まれているために発生します。 build.gradleファイルで既に指定されている依存関係を含めています。例えば:

compile 'com.google.Android.gms:play-services:9.0.2'
compile 'com.google.Android.gms:play-services-identity:9.0.2'

上記の依存関係の仕様ではこの問題が発生します。play-servicesにはplay-services-identityなどすべてが含まれるため、ここでは同じ依存関係が複数回含まれます。

推奨されるオプションは、実際に必要な依存関係のみを含めることです。プレイサービスの場所とマップが必要な場合は、これらの依存関係のみを次のように含めます。

compile 'com.google.Android.gms:play-services-location:9.0.2'
compile 'com.google.Android.gms:play-services-maps:9.0.2'

「com.google.Android.gms:play-services:9.0.2」ですべてを含めずに。

あなたの特定のケースでは、トップレベルのgradleファイルのgoogle-servicesとアプリレベルのgradleファイルのplay-services-identity&play-services-plusの間で競合が発生していると思われます。複数のインクルードを解決するために特に必要なサービスのみを使用すると、問題が解決します。

一般に、強力で正当な理由がない場合は、「multiDexEnabled true」を使用しないでください。実際の問題を知らずに使用すると、問題を回避できます。複数の重複する依存関係を許可して、API競合の可能性のあるソースと大きなapkサイズを生成します。

5

追加中

 dexOptions {
        incremental = true;
        preDexLibraries = false
        javaMaxHeapSize "4g" // 2g should be also OK
    }

in with Androidは私のために機能します。

3
Rasmikant

同じ問題がありました。
Java_HOME変数をJava 8 jdkに設定することで修正されました。

export Java_HOME="/usr/lib/jvm/Java-8-openjdk-AMD64/"   
1
Pani