问题标签 [dex-limit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2931 浏览

android - Android重新生成优化的dex文件

我试图了解有关 dex 文件如何由 android 处理的一些事情。

我所知道的是 APK 提供了一个 dex 文件,系统获取它,在安装时对其进行优化,并将生成的 ODEX 文件(优化的 dex)存储在 /data/dalvik-cache/myOdexfile 中,然后从那里运行应用程序.

真的是这样吗?

当 dex 文件从 Internet 下载并打开新的 dex 文件时会发生什么?那也优化了吗?

另外 - 系统,afaik,保留原始 APK,对吗?我认为它保存在 /data/app/myAPK-1.apk 中。系统是否以任何方式使用它?什么时候?

您能否在安装后以某种方式手动强制从存储的 APK 文件中重新生成 odex 文件?

0 投票
6 回答
17974 浏览

android - 按包显示 dex 方法计数

我正在开发违反 dex 方法计数限制的 android 应用程序。有没有一种简单的方法来显示按包分组的方法计数?我可以获得总方法计数,但我的应用程序有多个组件,我试图找出哪个组件对此贡献最大。

0 投票
2 回答
9979 浏览

android - Android ART 运行时是否具有与 Dalvik 相同的方法限制限制?

Android ART 运行时是否具有与 Dalvik 相同的方法限制限制?目前,主 dex 文件中的方法限制为 64k

0 投票
1 回答
2561 浏览

android - 达到 65k 的 Dex 方法限制,但 dex-method-count 工具显示更少

长期以来,我们一直在为 65k 方法限制而苦苦挣扎,并且已经完成了大部分优化。现在我正在尝试添加 Jacoco 插件,但又遇到了 dex 限制错误:

但是,当我运行 dex-method-count 工具(在此处找到https://github.com/mihaip/dex-method-counts)时,它说我们只有 56k 方法。

Jacoco 库只有 1309 个方法(使用相同的 dex-method-count 工具计算),所以我们应该远远低于 65k 的限制。

有任何想法吗?还有人注意到 dex-method-count 工具少报了方法的数量吗?

0 投票
6 回答
4621 浏览

android - 如何使用 Proguard 缩小 Android 代码

由于我在我的应用程序中使用了许多依赖项,因此我达到了 65k 方法限制(我达到了 76k 方法)。我在 android.developer 上读过 proguard 用于缩小代码。

那么 - proguard 是只缩小我的应用程序代码还是缩小我的依赖项的代码?使用 proguard 压缩代码时,我是否需要警惕某些事情?我怎么做?

我的 Gradle 构建:

0 投票
1 回答
843 浏览

debugging - 使用 Proguard 在 Android Studio 中运行调试器

我想在 Android 中运行调试器,但我的问题在于我有 proguard 的调试版本。原因是愚蠢的 65K 方法限制。我打开了 proguard 来帮助减少方法。这让我回到了 43K 方法,但现在在 IDE 中,我无法调试单步执行代码,因为 IDE 中的所有断点都变成红色 X,错误提示无法访问代码。如果我关闭调试器,断点会恢复正常。我需要在 build gradle proguard 中做些什么来让它工作还是我只是被水洗了?

0 投票
1 回答
1413 浏览

java - 错误:任务 ':speakup:transformClassesWithMultidexlistForDebug' 执行失败

我已经尝试了所有可能的方法来解决 MultidexlistForDebug 问题,但我仍然卡住了请检查我的 gradle 文件

编译时错误

0 投票
1 回答
342 浏览

android - dex中的字段和方法引用计数

dex 限制是否仅适用于方法?dex 对字段有任何限制吗?我找不到任何相关信息,但至少看起来有错误

字段引用过多:131000;最大值为 65536。

在那种情况下为什么不使用方法?所有 google 和 android 文档中都没有关于此的内容。至少我的谷歌搜索技能无法帮助我找到一个可以清楚地写出来的资源。谢谢。

另外,为您的答案提供任何证据也很棒。或者您是 Google 的开发人员。

0 投票
1 回答
107 浏览

android - 如何有选择地使用 Google Play 服务包?

我在我的 Unity android 游戏中使用以下插件:

1) 广告

2) 谷歌玩游戏

3) 统一内购

我在尝试构建时收到“无法将类转换为 dex 格式”错误。

编写输出时遇到问题:一个 dex 文件中无法容纳的字段引用过多:65681;最大值为 65536。

我想减少字段引用,而不是实现multidex。有人可以解释如何有选择地使用 Google Play 服务包吗?在我的 Assets\Plugins\Android\libs 文件夹中,我有以下文件:

播放服务广告 15.0.1.aar

播放服务-广告-base-15.0.1.aar

播放服务广告标识符 15.0.1.aar

播放服务广告精简版 15.0.1.aar

播放服务-auth-16.0.0.aar

播放服务-auth-api-phone-15.0.1.aar

播放服务-auth-base-15.1.0.aar

播放服务-base-15.0.1.aar

播放服务-basement-15.0.1.aar

播放服务驱动器 15.0.1.aar

玩-服务-游戏-15.0.1.aar

播放服务-gass-15.0.1.aar

播放服务任务-15.0.1.aar

我正在我的游戏中实现广告、排行榜、成就和 IAP。如果上面提到的列表中有任何 .aar 包是实现广告、排行榜、成就或 IAP 所不需要的,请告诉我,以便我将其删除。

0 投票
1 回答
808 浏览

r - 如何使用限制(xlim 和 ylim)放大到 R(ggplot/ggmap)中的美国东北地区?

我正在做一个项目,我想使用 ggplot 或 ggmap 显示“仅”美国东北部(我们可以使用纽约市作为我们的中心)。

我找到纽约州的 x 和 y 并想为两个轴创建范围 +/- 10 度,但不知道如何使 ggmap 只显示我希望它显示的区域。我一直得到整张地图或只有一点......请帮助......谢谢!