2017-01-30 1 views
1

Ich versuche Apps Performance Monitoring Tool mit meinem Android-Anwendung von meinem gradle versagtFehler beim Integrieren AppDynamics: transformClassesWithMultidexlistForLiveDebug

sagen
Error:Execution failed for task ':app:transformClassesWithMultidexlistForLiveDebug'. 
> java.util.NoSuchElementException (no error message) 

Below zu integrieren, ist meine gradle Wurzel gradle Datei

// 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:2.2.3' 
     classpath 'com.appdynamics:appdynamics-gradle-plugin:4.+' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Und hier ist meine App-Gradle-Datei,

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 


    defaultConfig { 
     applicationId "com.app.abc" 
     minSdkVersion 14 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1" 
     multiDexEnabled true 
    } 

    dexOptions { 
     preDexLibraries = false 
     javaMaxHeapSize "4g" 
    } 

    signingConfigs { 
     config { 
      keyAlias 'xxx' 
      keyPassword 'xxx' 
      storeFile file('xxx') 
      storePassword 'xxx' 
     } 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
     } 
     debug { 
      debuggable true 
      minifyEnabled false 
     } 
    } 

    afterEvaluate { 
     tasks.matching { 
      it.name.startsWith('dex') 
     }.each { dx -> 
      if (dx.additionalParameters == null) { 
       dx.additionalParameters = [] 
      } 
      dx.additionalParameters += "--set-max-idx-number=55000" 
     } 
    } 

    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES.txt' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/notice.txt' 
     exclude 'META-INF/license.txt' 
     exclude 'META-INF/dependencies.txt' 
     exclude 'META-INF/LGPL2.1' 
    } 

    lintOptions { 
     checkReleaseBuilds false 
     // Or, if you prefer, you can continue to check for errors in release builds, 
     // but continue the build even when errors are found: 
     abortOnError false 
    } 

    sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] } } 
} 

dependencies { 
    ... 
    compile 'com.appdynamics:appdynamics-runtime:4.+' 
} 

Ich bin Wenn Multidex Flag bereits aktiviert ist, gibt es mir das Problem beim Ausführen der Anwendung.

Und auch ich in meiner Anwendungsklasse haben

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

Antwort

0

Ich habe versucht mehr dex hinzufügen, ohne dass Minimum oder Maximum Methode Zahl pro dex-Datei zu geben wise.I've versuchte einfach nur multidex Hinzufügen und fähig zu bauen.Und Ja !! Ich bin in der Lage, App auch zu bauen.

Hauptänderung ist in afterEvaluate & incremental true in dexoption.

build.gradle

android { 
    compileSdkVersion 23 
    buildToolsVersion '23.0.3'  
    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 18 
     renderscriptTargetApi 18 
     //renderscriptSupportModeEnabled true 
     // To enable MultiPle dex 
     multiDexEnabled true 
    } 
    dexOptions { 
     // Option to handle multi dex 
     incremental true 
     javaMaxHeapSize "4g" // try with 2g as it worked for my case its working in both cases 
     // here 4g i got this thing from https://groups.google.com/forum/#!topic/adt-dev/P_TLBTyFWVY 
    } 
    packagingOptions { 

     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/NOTICE' 

    } 
    signingConfigs { 
     Release { 
      keyAlias 'helloworld' 
      keyPassword 'helloworld' 
      storeFile file('../helloworld') 
      storePassword 'helloworld' 
     } 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 
        'proguard-project.txt' 
     } 
     debug { 
      signingConfig signingConfigs.Release 
     } 
    } 
} 


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.3.0' 
    compile 'com.android.support:design:23.3.0' 

    compile 'com.google.android.gms:play-services-maps:8.4.0' 
    compile 'com.google.android.gms:play-services-ads:8.4.0' 
    compile 'com.google.android.gms:play-services-analytics:8.4.0' 
    compile 'com.google.code.gson:gson:2.6'  
    compile 'com.github.bumptech.glide:glide:3.7.0' 
    compile 'com.github.bumptech.glide:okhttp3-integration:[email protected]' 
    compile 'com.squareup.okhttp3:okhttp:3.2.0'  
    compile 'com.appdynamics:appdynamics-runtime:4.+' 
} 
afterEvaluate { 
    tasks.matching { 
     it.name.startsWith('dex') 
    }.each { dx -> 
     if (dx.additionalParameters == null) { 
      dx.additionalParameters = [] 
     } 
     dx.additionalParameters += '--multi-dex' // enable multidex without giving minimum or maximum limit 
    } 
} 

Eltern gradle Anwendung

// 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:2.2.3' 
     classpath 'com.appdynamics:appdynamics-gradle-plugin:4.+' 
     // 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 
} 

Wenn oben Sache noch haben gerade Problem Ihre dependecies Hierarchie überprüfen, ob andere zusätzliche dependecies hinzugefügt werden (Basierend auf Ihren build.gradle da sollte es noch andere Abhängigkeiten geben). Nicht sicher, aber es ist möglich, dass es wegen internen Bibliothekskonflikten nicht weitergeht, um dexfile zu erstellen oder bauen.

Lassen Sie mich wissen, wenn etwas

Verwandte Themen