错误同时整合AppDynamics:transformClassesWithMultidexlistForLiveDebug
问题描述:
我想与我通过我的gradle这个Android应用程序集成的应用程序性能监控工具无法说错误同时整合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()
}
}
这里是我的App的gradle文件,
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标志,但它在运行应用程序时仍然会出现问题。
而且,我也有我的应用程序类
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
答
我已经尝试添加多DEX没有每DEX文件wise.I've试图用单纯只是增加multidex给人方法计数的最小或最大并能够build.And是!我也可以构建应用程序。
重大变化在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
}
如果上面的东西都还只是出具检查你的依赖条件的层次结构,如果在添加任何其他额外的依赖条件(您build.gradle
基于那里应该有一些其他的依赖)。不确定,但可能因为内部库冲突而不可能进一步创建dexfile或建立。
让我知道是否有任何东西