我在我的应用中收到此错误:
java.lang.IllegalArgumentException:方法ID不在[0,0xffff]中: 65536
我知道这是由于单个dex文件中的65K方法限制。所以,我已将multiDexEnable true
放入build.gradle
。但是现在,我又得到了另一个错误:
任务执行失败 ':应用程序:transformClassesWithMultidexlistForSitraRelease'
java.io.IOException:无法读取[C:\ Program Files \ adt-bundle-windows \ build-tools \ 20.0.0 \ multidex \ shrinkedAndroid.jar] (没有这样的文件或目录)
我该怎么办?
修改
我添加了com.android.support:multidex:1.0.0
依赖项,并将App extends Application
更改为App extends MultiDexApplication
,但仍然无效。
注意:当我删除依赖项com.batch.android:batch-sdk:1.5+
时,一切正常。
答案 0 :(得分:2)
在build.gradle文件中,将buildToolsVersion更新为21.1.0或更高版本。 (您目前使用的是20.0.0)
类似的东西:
using (FileStream fs = new FileStream("Report.html", FileMode.Create, FileAccess.Write))
{
using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8))
{
w.WriteLine(html);
}
}
并确保您的sdk经理是最新的。
更多信息:http://developer.android.com/intl/es/tools/building/multidex.html#mdex-gradle
答案 1 :(得分:0)
您必须从Application
延长MultidexApplication
课程。
此外,您还需要添加到gradle.build
文件compile 'com.android.support:multidex:1.0.0'
。
答案 2 :(得分:0)
尝试将compile "com.android.support:multidex:1.0.1"
添加到build.gradle中的依赖项。我相信你需要这个以及multiDexEnabled true
。