错误:任务':app:transformClassesWithDexForDebug'执行失败。
com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.dex.DexIndexOverflowException:方法ID不在[0, 0xffff]:65536
上面是我在genymotion上运行模拟时的错误消息 我更新了所有api,激活了google + for genymotion
我从android studio的默认项目创建一个谷歌地图项目。谁可以帮助我从这里出来?
尝试谷歌的建议 喜欢降级依赖项,添加multidex true等但它仍然显示此错误....是的,我已经添加了api键
答案 0 :(得分:1)
好像你已超过~65000方法限制。如果您使用最新版本的Android构建工具
,请尝试启用multidexandroid {
defaultConfig {
// flag
multiDexEnabled true
}
}
在你的android配置
中<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
清单或应用程序类中应该有一个条目(如果它也在那里)
public void onCreate(Bundle arguments) {
MultiDex.install(getTargetContext());
super.onCreate(arguments);
...
}
或者如果您有应用程序类,则执行此操作而不是上面的清单条目
using Newtonsoft.Json.Linq;
dynamic myJsonData = JObject.Parse("{ \"out\":123, \"xyz\": 456 }");
Console.WriteLine(myJsonData.xyz); //works
Console.WriteLine(myJsonData.out); //compiler error ";" expected
编辑:
您必须使用构建工具&gt; 21.1。*
答案 1 :(得分:1)
Definitely a mutlidex issue, enable mutlidex as follows,
1. Add code
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
清单中也应该有一个条目
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
或者如果您有应用程序类,则执行此操作而不是上面的清单条目
public void onCreate(Bundle arguments) {
MultiDex.install(getTargetContext());
super.onCreate(arguments);
...
}
确保在build.gradle文件的右上角单击同步,当它出现时。
清洁和构建。
理论:https://developer.android.com/studio/build/multidex.html 如果问题仍然存在,请提供gradle文件和错误日志。