Zas*_*suk 6 android android-studio android-multidex
谁有人能告诉我android 2.3中是否支持multi dex?
我已经四处寻找,但我无法找到相关信息.我的项目具有与此类似的配置:https://github.com/mustafa01ali/MultiDexTest
该项目构建没有问题,但最终的apk无法安装在2.3或更低的设备中.
在安装时我收到错误
Failure [INSTALL_FAILED_DEXOPT]
Run Code Online (Sandbox Code Playgroud)
在Android Studio中,它出现在logcat中:
E/dalvikvm? LinearAlloc exceeded capacity (5242880), last=1384
W/installd? DexInv: --- END '/data/app/xxx.apk' --- status=0x000b, process failed
E/installd? dexopt failed on '/data/dalvik-cache/data@app@xxx.apk@classes.dex' res = 11
Run Code Online (Sandbox Code Playgroud)
你正在达到一个不同的大小限制(LinearAlloc),根据这个bug,multi-dex无法解决这个问题:
https://code.google.com/p/android/issues/detail?id=78035
来自该bug的评论#7:
dx中已经有一个选项允许强制生成较小的dex文件: - set-max-idx-number =不幸的是,更改默认值不是解决方案,因为根据类层次结构,可以在非常不同的级别达到linearAlloc限制和其他标准.
此外,对于大多数应用程序,迁移到multidex只会帮助解决安装的linearalloc限制.但是应用程序仍然会在执行时遇到相同的限制.我知道multidex可以帮助linearalloc的唯一工作用例是当apk不包含一个应用程序但在不同的进程中运行不同的部分时.
目前尚不清楚你能做些什么来解决这个限制,至少从长远来看是这样; 您可能需要简化您的应用.这里有另一个StackOverflow问题,其中包含一些可能让您启动并运行的信息和一些解决方法,至少在一段时间内:
如何避免LinearAlloc Exceeded Capacity错误android
| 归档时间: |
|
| 查看次数: |
4117 次 |
| 最近记录: |