tec*_*yle 5 android android-multidex
我有一个很大的Android项目,我得到了无法执行dex:方法ID不在[0,0xffff]:65536错误; 我相信你们中的一些人之前肯定经历过这个问题.由于应用程序中引用的方法太多,这是一个错误.
我在网上寻找了不同的资源,发现这可能是最好的解决方案.
我做了以下事情:
multiDexEnabled = true在defaultConfig块的build.gradle.添加了以下依赖项:
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)覆盖了我的App类中的以下代码.
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
Run Code Online (Sandbox Code Playgroud)现在,错误消失了,但我遇到了一个新问题.当我运行应用程序时,编译器需要超过3分钟来编译和运行应用程序,最后给我这个错误:
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)
我理解这个错误是由于大量内存使用而发生的,但我不知道如何解决它.我使用的是Android Studio 1.0.2和Android API 21.
谢谢!
编辑:
我已经在MonoDevelop中编译MonoDroid应用程序时检查了如何修复"OutOfMemoryError:java堆空间",但是这并没有解决问题的原因,而且我没有使用Xamarin Studio.
编辑2:
确切的症状是这样的:
当我编译代码时,gradle控制台向我展示了数百个警告,说"忽略匿名内部类的InnerClasses属性"(其他一些stackoverflow答案表明这不是严重的警告),然后显示什么但闪烁的光标暂时一段时间,大约一分钟后,它给了我错误.
Rob*_*kic 11
您是否尝试将堆大小调整添加到build.gradle文件中?例如,这会将dexing的最大堆大小设置为4GB.
android {
...
dexOptions {
javaMaxHeapSize "4g"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2771 次 |
| 最近记录: |