1

最近我不得不为我们的应用程序启用 multidex 支持,因为它在许多运行旧版本 Android 的设备上无法安装或启动时崩溃。启用该应用程序后,该应用程序通过一些调整成功地安装在大多数 Android 版本上,但 2.3.6 除外,它会提供以下消息:

无法下载 - 此手机不支持该内容

我无法对此进行测试,因为我没有运行 2.3.6 的设备,而且 Android Studio 也没有为此版本提供模拟器。如果有人告诉我 Android 2.3.6 上的应用程序发生了什么,我将不胜感激 - 即为什么不支持该应用程序在其他较低版本(如 2.3.3 和 2.2 等)上运行良好的地方。

4

1 回答 1

2

实际上官方页面中提到了这一点,在Android 4.0(API级别14)之前可能会出现问题

https://developer.android.com/tools/building/multidex.html#limitations

以下是与平台版本相关的 2 个主要问题

由于 Dalvik linearAlloc 错误(问题 22586),使用 multidex 的应用程序可能无法在运行早于 Android 4.0(API 级别 14)的平台版本的设备上启动。如果您的目标 API 级别早于 14,请确保使用这些版本的平台执行测试,因为您的应用程序在启动时或加载特定类组时可能会出现问题。代码缩减可以减少或可能消除这些潜在问题。

由于 Dalvik linearAlloc 限制(问题 78035),使用 multidex 配置的应用程序发出非常大的内存分配请求可能会在运行时崩溃。Android 4.0(API 级别 14)增加了分配限制,但在 Android 5.0(API 级别 21)之前的 Android 版本上,应用可能仍会遇到此限制。

于 2015-09-11T14:39:09.237 回答