问题标签 [dexopt]

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 回答
6867 浏览

android - LinearAlloc 超出容量 (5242880), last=1092 在我的三星平板设备上安装时出错

我不断得到,这个错误logcat

在控制台时

我试过了,清理项目,重启设备,杀死adb并启动服务器,

我发现要检查 WipeUserData,但是如何为 realdevice 擦除用户数据?

如何解决此问题并在三星平板电脑上安装我的 apk?

0 投票
1 回答
13754 浏览

android - 什么是dexopt?(Android Shell 命令)

Android shell 命令 dexopt 有什么作用?

我在哪里可以找到手册?

0 投票
2 回答
7877 浏览

android - 当 dex.force.jumbo=true 时,Dexopt 在一个非常大的 APK(乱序 method_idx)上失败

我有一个非常大的 Android 项目,其中包含多个大型 3rd 方 jar(作为 Android 库)。
我相信我已经达到了 Dex 的最大方法数限制(通过 eclipse 编译):

[2012-11-18 02:28:45 - 在文件中查找] Dx 处理 classes.dex ...
[2012-11-18 02:28:48 - Dex Loader] 无法执行 dex:无法将新索引 66774 合并到非巨型指令!
[2012-11-18 02:28:48 - 在文件中查找] 转换为 Dalvik 格式失败:无法执行 dex:无法将新索引 66774 合并到非巨型指令中!

因此,我利用 SDK 工具 21(平台工具 16)将我的主项目 project.properties 编辑为 set dex.force.jumbo=true
该标志允许我生成 APK。但我无法正确安装它(在物理和模拟器上)。似乎有一个 dex 优化器故障:

11-18 20:11:05.338: I/PackageManager(103): 运行 dexopt: com.mypackage.myapp
11-18 20:11:08.577: E/dalvikvm(868): 无序 method_idx: 0x2ae0 然后0x1
11-18 20:11:08.577: E/dalvikvm(868): 项目 1544 出现问题@偏移量 0xf7ae24
11-18 20:11:08.577: E/dalvikvm(868): 部分类型 2006 的交换失败
11-18 20 :11:08.577:E / dalvikvm(868):错误:字节交换+验证失败
11-18 20:11:08.597:E / dalvikvm(868):优化失败
11-18 20:11:08.597:W / installd( 39): DexInv: --- END '/data/app/com.mypackage.myapp-1.apk' --- status=0xff00, 进程失败
11-18 20:11:08.597: E/installd(39): dexopt 在“/data/dalvik-cache/data@app@com.mypackage.myapp-1.apk@classes.dex”上失败 res = 65280
11-18 20:11:08.697: W/PackageManager(103): 包无法安装在 /data/app/com.mypackage.myapp-1.apk
11-18 20:11:09.018: D/dalvikvm( 103): GC_EXPLICIT 释放 1698K, 13% 释放 17034K/19463K, 暂停 7ms+135ms
11-18 20:11:09.068: D/AndroidRuntime(780): 关闭 VM

我是否试图将dex.force.jumbo标志用于它不打算用于的目的,或者这个错误是不可预测的?
如果是这样,是否有更好的策略来生成包含大量类/方法的项目?

0 投票
2 回答
1117 浏览

android - 运行包含大量代码的应用程序

背景

似乎一些旧的 Android 操作系统(甚至可能是最新的)对每个应用程序可以容纳的代码量有限制。

正如我所发现的,限制是在一个名为 "LinearAlloc" 的缓冲区上。

在 2.2 或 2.3 上大约是 5-8 MB ,我认为在其他版本上是 16 或更多。

问题

如果您的代码太大(并且应用程序可以达到此状态),您将无法在旧设备上安装该应用程序,出现下一个错误(也报告在这里):

我发现了什么

一种解决方案是尽可能多地删除代码和库,但在一些大型项目中,这样的事情很难做到。

我发现下一个链接讨论了 Facebook 如何通过某种方式增加限制来解决这个问题:

此外,谷歌发布了如何通过动态加载代码来解决它:

问题

脸书是怎么做到的?

是否也可以通过其他方式克服这一点?

是否有任何免费库可以增加/消除此缓冲区的限制?

对较新的 Android 版本有什么限制(如果有)?

其他大型应用程序(和游戏)如何处理这个问题?他们是否将代码放入 C/C++ 中?

动态加载 dex 文件会解决这个问题吗?

0 投票
1 回答
100 浏览

java - 无效名称:安装应用程序时出现“枚举常量初始化 $2”

在将 android 应用程序从 eclipse 安装到任何模拟器时,我开始收到错误:

我检查了我的枚举,但不确定可能是什么问题。在网上找不到足够相似的东西,所以在这里需要一些帮助:)

0 投票
4 回答
4208 浏览

android - 包的 uid 不匹配:磁盘上的 10124,设置中的 10134

我的一个应用程序(包名称是 com.netbiscuits.kicker)在 Android 2.3.X 设备上遇到了一些问题。但是我无法安装我的 APK。我尝试直接从 eclipse(调试密钥库)安装它,并在 LogCat 中显示以下消息:

我还尝试直接从 Google Play 商店安装签名的 APK。失败并显示错误消息:“包文件无效”。

这个问题似乎只出现在少数 android 2.3.x 设备上,我完全不知道为什么。我不使用本机 NDK 代码,并且我已经检查了某个库是否在某处包含 apache commons,但我没有发现任何异常。

有什么建议吗?

0 投票
2 回答
4746 浏览

android - 解决安装错误 dexopt

尽管有几篇关于 dexopt 错误的帖子,但它们都没有帮助。我突然开始收到 dexopt 错误:失败 [INSTALL_FAILED_DEXOPT]。我试过从我的手机上卸载该应用程序,但它没有帮助。我试图从 /data/data/ 中擦除应用程序数据,但它也没有帮助。但是,如果我在安装失败 dexopt 错误后第二次运行,我会收到一个失败 [INSTALL_FAILED_UID_CHANGED] 错误。再次擦除 /data/data 后,出现上述相同的错误序列。

我也尝试擦除临时文件夹,结果没有差异。我还尝试擦除我通过 android studio 安装的所有其他应用程序,但它仍然给我同样的错误。有任何想法吗?如果它有任何区别,我将安装在有根的 LG G2 上。

0 投票
0 回答
1778 浏览

java - DexOpt:非法方法访问

我有一个基于位置的应用程序,它直到昨天都运行良好,但是当我在手机上运行它时,它的行为很奇怪。

下面是我的 logcat,它显示了我以前从未见过或听过的错误

注意:我昨天安装了 android 4.4.4 自定义 rom。是不是因为这个原因?

0 投票
2 回答
36417 浏览

android - dexopt 和 dex2oat 的区别?

Google正在从Dalvik( ARTAndroid 运行时) 移动。

我试图了解,它将如何提高性能。

我找到的最好的解释是下图:

达尔维克和艺术

已更改的主要组件之一dexoptdex2oat.

由于我对这些不太了解,任何人都可以解释其中的区别以及这将如何提高性能?

0 投票
0 回答
290 浏览

android - Android 平板电脑设备上的 Dexopt 错误

我尝试在我的平板电脑“Samsung GT-P1000”设备上运行我的 Android 项目,但是,每当我尝试运行该应用程序时,我都会得到这个按摩。

在 Logcat: pkg: /data/local/tmp/com.helloworld Failure [INSTALL_FAILED_DEXOPT] 我在这里看到了很多答案,但没有一个对我有用。我正在使用 Android Studio(而不是 Eclipse!),我已经从设备中删除了所有以前的应用程序,并多次清理/重建项目......

有什么帮助吗?

提前致谢。