2016-06-02 9 views
2

Wenn ich versuche, meine sehr einfache Android-Anwendung ich die folgende Ausgabe auszuführen:Android - Fehler bei der Ausführung für die Task ‚: App: transformClassesWithMultidexlistForDebug‘

Information:Gradle: Executing tasks: [:app:assembleDebug]

Information:Kotlin: Kotlin JPS plugin is disabled Information:6/2/16, 11:25 AM - Compilation completed with 1 error and 0 warnings in 6s 706ms

Error:Gradle: Execution failed for task ':app:transformClassesWithMultidexlistForDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

Ich hatte ursprünglich nicht multidex benutzen, und ich war ein immer ähnlicher Fehler mit dem Standarddex. Hier ist die ursprüngliche Ausgabe, die ich ohne multiidex erhielt:

Ich denke, ich habe jede denkbare Lösung ausprobiert und nichts funktioniert.

Hier ist meine Anwendungsebene build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "24.0.0 rc4" 

    defaultConfig { 
     applicationId "com.example.XXX.testapplication" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     multiDexEnabled true 
    } 
    buildTypes { 
//  debug { 
//   minifyEnabled true 
//   proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
//  } 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

    dexOptions { 
     incremental = true; 
     javaMaxHeapSize "4g" 
     //preDexLibraries = false 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:multidex:1.0.1' 
    compile 'com.android.support:appcompat-v7:23.4.0' 
    compile 'com.android.support:design:23.4.0' 
} 

habe ich versucht, mit verschiedenen Kombinationen von Linien, die kommentiert und unkommentiert wie Sie, ohne Erfolg zu sehen.

Ich habe keine Dateien in meinem "lib" -Ordner.

Hier ist meine höhere Ebene build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.5.0' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

Und hier ist mein AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.example.XXX.testapplication"> 

    <application 
      android:allowBackup="true" 
      android:icon="@mipmap/ic_launcher" 
      android:label="@string/app_name" 
      android:supportsRtl="true" 
      android:name="android.support.multidex.MultiDexApplication" 
      android:theme="@style/AppTheme"> 
     <activity 
       android:name=".MainActivity" 
       android:label="@string/app_name" 
       android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
+0

Können Sie bitte die gesamte Gradle-Ausgabe zeigen, nicht nur den Fehler? –

+0

Wie mache ich das? Entschuldigung, ich bin sehr neu in dieser Technologie – Infamous911

+0

Nun, du kopierst diesen Fehler von irgendwo, ja? Sie können Ihre Frage mit der Ausgabe bearbeiten, die darüber angezeigt wird. –

Antwort

1

Wenn Sie multidex Unterstützung, dann müssen Sie tun, um integrieren wollen, dass in einer ängstlichen Art und Weise. Von diesem link

Versuchen Sie, die folgenden Änderungen zu tun:

Add multiDexEnabled auf Ihre gradle Datei im DefaultConfig Schließung wahr.

In Ihrem Manifest der MultiDexApplication Klasse von der Support-Bibliothek hinzufügen, wie folgt: `

<application 
    ... 
    android:name="android.support.multidex.MultiDexApplication"> 
    ... 
</application> 

`

Beachten Sie auch, dass, wenn Sie bereits eine Anwendungsklasse für Ihr Projekt sind, außer Kraft setzt die Methode namens attachBaseContext() und in diesem Methodenaufruf: MultiDex.install (this)

+0

Ich habe das alles schon gemacht außer dem Teil, der attachBaseContext() betrifft. Wenn ich versuche, diese Methode in meiner MainActivity.java-Klasse, die AppCompatActivity erweitert, zu überschreiben, heißt das, dass das @Override-Tag ein Fehler ist, da es keine Methode der Superklasse überschreibt. – Infamous911

+0

@ Infamous911 Sie nicht das in die Aktivität, würden Sie das in eine Application-Klasse, die MultiDexApplication erweitert, jedoch, wie wir gesehen haben, brauchen Sie nicht multidex, weil es das Problem –

+0

nicht löst Erweiterung der Anwendung, erweitern Sie MultiDexApplication. @ cricket_007 Sie haben Recht, im Allgemeinen ist es nicht notwendig, Multidex zu verwenden, wenn es weniger oder keine Abhängigkeit gibt. –

Verwandte Themen