这个问题已被问过几次,但我已经尝试了所有的答案,但我仍然有同样的错误。
以下是我的所有依赖项:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
{
exclude group: 'com.android.support', module: 'support-annotations'
})
compile files('libs/itextpdf-5.3.2.jar')
compile 'com.androidadvance:topsnackbar:1.1.1'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.android.support:palette-v7:25.3.1'
compile 'com.google.android.gms:play-services-ads:11.6.0'
compile 'com.google.android.gms:play-services-location:11.6.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'org.apache.commons:commons-io:1.3.2'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.anjlab.android.iab.v3:library:1.0.44'
compile project(':adcolony-sdk-3.1.2')
testCompile 'junit:junit:4.12'
}
根据其他问题,它与我的依赖关系有关。 This问题有完全相同的问题。该问题的第一个答案是:
您在项目中包含所有游戏服务。只添加你想要的那些。
如上所述,情况并非如此。
我也尝试添加:
defaultConfig {
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
以上导致新错误:
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'
还有一个关于this的问题,根据我应该的答案
建造/清洁项目
我已经尝试了所有的答案,我仍然无法将此错误消失,是否有一些我可以忽略的东西?任何帮助都将受到极大的欢迎。
我解决了这个问题
问题是我达到了64k方法限制 - More info.
Android应用(APK)文件包含Dalvik可执行文件(DEX)文件形式的可执行字节码文件,其中包含用于运行应用的已编译代码。 Dalvik可执行规范将单个DEX文件中可引用的方法总数限制为65,536,包括您自己的代码中的Android框架方法,库方法和方法。在计算机科学的背景下,术语Kilo,K表示1024(或2 ^ 10)。由于65,536等于64 X 1024,因此该限制称为“64K参考限制”。
如果你的minSdkVersion设置为21或更高,你需要做的就是在你的模块级build.gradle文件中将multiDexEnabled设置为true,如下所示:
android {
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 26
multiDexEnabled true
}
...
}
但是,如果您的minSdkVersion设置为20或更低,则必须使用multidex支持库,如下所示:
android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 26
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
主要问题是我试图将jar
个文件添加到我的libs
文件夹中,这样做达到了最大方法限制。添加compile 'com.android.support:multidex:1.0.1'
和multiDexEnabled true
后,我的问题就解决了。
感谢您的回答和评论。
答案 0 :(得分:0)
在gradle文件下方添加此行。
apply plugin: 'com.google.gms.google-services'
如果这没有解决问题,那么尝试使用相同版本的所有支持库v4或v7
希望这会有所帮助:)