2017-01-30 17 views
1

Я пытаюсь интегрировать средства мониторинга производительности приложений с моей Android Заявления моей Gradle терпит неудачу говоряОшибки при интегрирующих AppDynamics: transformClassesWithMultidexlistForLiveDebug

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

Ниже моего Gradle корень 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:2.2.3' 
     classpath 'com.appdynamics:appdynamics-gradle-plugin:4.+' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

И здесь является файлом градации моего приложения,

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.+' 
} 

Я уже с включенным флагом Multidex он вызывает проблемы при запуске приложения.

А также у меня есть в моем классе Application

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

ответ

0

Я пытался добавить мульти Dex без указания минимума или максимума графского метода на DEX файл wise.I've опробованы просто просто добавив multidex и в состоянии построить. И Да! Я также могу создать приложение.

большое изменение содержится в afterEvaluate & incremental true в 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 
    } 
} 

родительского 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: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 
} 

Если выше вещь до сих пор проблемы именно проверить иерархию dependecies если добавить любые другие дополнительные dependecies (на основе вашего build.gradle там должны быть какие-то другие зависимости). Не уверен, но это возможно из-за внутренних конфликтов библиотеки, что он не продолжает создавать dexfile или построить.

Дайте мне знать, если что-нибудь

 Смежные вопросы

  • Нет связанных вопросов^_^