web-dev-qa-db-ja.com

Android-デバッグ用のDexでクラスを変換する

Facebookの依存関係を追加するまで、私のプロジェクトは正常に機能していました。このエラーが発生し始めました。多くの質問を読みましたが、問題はMultiDexに関連しているようです。しかし、私にとっては解決策はありませんでした

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.Android.build.api.transform.TransformException: 
com.Android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException: Process 'command 
'/usr/lib/jvm/Java-7-openjdk-AMD64/bin/Java'' finished with non-zero exit value 1

追加したものを削除した後でも、それはまだ表示され、gradleは通常よりも構築中に多くの時間がかかるようです

ここに私のbuild.gradleがあります

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "net.ciblo.spectrodraft"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    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'

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }

}
compile 'com.facebook.Android:facebook-Android-sdk:[4,5)'
compile 'com.Android.support:multidex:1.0.1'
compile 'com.Android.support:appcompat-v7:23.2.1'
compile 'com.Android.support:cardview-v7:23.2.1'
compile 'com.Android.support:design:23.2.1'
compile 'com.daimajia.easing:library:1.0.1@aar'
compile 'com.daimajia.androidanimations:library:1.1.3@aar'
compile 'com.google.Android.gms:play-services:8.4.0'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.pnikosis:materialish-progress:1.5'
compile 'com.nineoldandroids:library:2.4.+'
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
compile 'com.Android.support:support-v4:23.2.1'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

}
24
Haroun SMIDA

次のコードをbuild.gradle appモジュールに追加すると、問題が解決しました

Android{
    defaultConfig {

        // Enabling multidex support.
        multiDexEnabled true
    }


    dexOptions {
        javaMaxHeapSize "4g"
    }
}
dependencies {
    //...
    compile 'com.Android.support:multidex:1.0.0'
}
26
Haroun SMIDA

google PlayサービスAPIをアプリに選択的にコンパイルできます。たとえば、Google FitとAndroid Wear APIのみを含めるには、build.gradleファイルの次の行を置き換えます。

 compile 'com.google.Android.gms:play-services:8.4.0'

これらの行で:

compile 'com.google.Android.gms:play-services-fitness:8.4.0'
compile 'com.google.Android.gms:play-services-wearable:8.4.0'

==>アプリ内のメソッドの数(フレームワークAPI、ライブラリメソッド、独自のコードを含む)を65,536の制限内に保つため。

4
Mounir Elfassi

Build.gradleに以下を追加すると、問題が修正され、

Android {
//...

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
//...
}
2
Anup

この恐ろしい繰り返しの問題は最近私に直撃しました。 gradleビルドはapp:transformClassesWithDexForDebugで恒久的に停止し、数時間実行するだけで完了しません。今回は、Crashlyticsの新しいレイヤーである「fabric」へのすべての参照を削除することで修正しました。

//apply plugin: 'io.fabric'   //REMOVE
//classpath 'io.fabric.tools:gradle:1.26.1'  //REMOVE
0
Androidcoder