问题标签 [dex]

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 投票
17 回答
602550 浏览

java - 将 DEX 反编译为 Java 源代码

如何将 Android DEX(VM 字节码)文件反编译成对应的 Java 源代码?

0 投票
2 回答
6615 浏览

android - 我怎么做孤立的dalvik

我正在追踪 Dalvik 机器源代码。据此,我想让 Dalvik 可运行。我似乎有 dvk 项目。但是有很多问题导致故障。有没有办法只制作 dalvik 而不是所有的 android。因为make android会花费太多时间(大约很多小时)

dvk 项目:http ://code.google.com/p/dvk/

0 投票
7 回答
109354 浏览

android - 是否可以反编译 Android .apk 文件?

用户是否能够将我的应用程序的 apk 文件转换回实际代码?如果他们这样做了 - 有什么办法可以防止这种情况发生吗?

0 投票
0 回答
3185 浏览

java - Android dex转换成java类格式

有没有工具可以将android dex文件格式转换为java类格式?我看过 dex2jar,但它看起来还处于开发的早期阶段。我想要一些足够稳定的东西可以使用。

0 投票
1 回答
643 浏览

android - 组装一个dex文件

如果您从 android 文件系统中取出一个 apk 并将扩展名更改为 .zip,然后打开其中一个 xml 文件,它将无法工作,因为它是用 dex 编码的。但是您可以运行 ./adb dexdump -l xml layout.xml > ~/Desktop/layout.xml 然后根据自己的喜好对其进行编辑。不过,我不知道如何将其恢复到 apk 中。我想我需要将它编码回 dex 然后将其添加回存档中。谁能告诉我如何将它编码成dex?

0 投票
1 回答
427 浏览

android - 如何在使用 Android 没有的包编译的 Android 中使用 jar 库

我需要导入几个在 java 的完整实现下编译的 jar。我知道 Android 并没有使用 java 必须提供的所有包。我的问题是:是否可以在不产生错误的情况下导入它们?是否有可以将 jar 转换为 android jar 的工具?如果有,能否提供一些例子。任何帮助深表感谢。

0 投票
1 回答
817 浏览

android - 尝试在运行时生成 Dex 字节码

我试图在运行时调用 DX Tool。我的主要想法是生成一个 Dexfile,然后动态加载到 Android 系统中。我有一些错误,但我认为可以直接生成一个dile。以下代码尝试使用构造函数生成一个简单的 HelloWorld Bean。有人能帮我吗?

我的示例代码是下一个:

0 投票
3 回答
16052 浏览

android - apk 到 dex 转换

如何将.apk文件转换为.dex文件?

请帮忙。

0 投票
1 回答
1730 浏览

android - Android:从外部 dex 加载活动

是否可以从外部 dex 文件加载活动?我正在考虑一些插件式架构,可以通过下载包含额外功能的活动和类的 dex 文件来扩展应用程序。

我已经设法使用 DexClassLoader 和反射从下载的 dex 文件中加载和调用类上的方法。但是我可以以某种方式使用这种技术来下载和呈现活动吗?是否可以以编程方式注册这个新活动,以便我可以使用 Intent 调用它?

我知道可以(并且推荐的方法是)通过正常过程使用 APK 安装其他 Activity,然后使用 Intents 从我的主要 Activity 加载它或简单地更新已安装的应用程序,但我想扩展我已经安装的通过下载一些额外的类并在同一个虚拟机、同一个沙箱中执行所有内容来应用程序。

嗯,如果你不明白我的意思,请告诉我,因为这有点混乱.. :)

0 投票
0 回答
1697 浏览

android - DexFile.loadDex 挂起

任何 android 专家都可以阐明为什么这种方法会挂起?

当我暂停线程并查看堆栈时:

...您可以看到它挂在本机方法 DexFile.openDexFile 中,它永远不会返回。

这对我们正在编写的应用程序造成了严重的问题。它是随机发生的,因此表明多个线程之间存在某种竞争条件,但我连接了检测和死锁,而且我希望本机方法能够返回一些东西,即使是异常也会很好!

提前致谢

我正在使用 Android 2.2 Nexus One 设备,我正在将应用程序从 eclipse 部署到设备。为了确保我完全卸载了应用程序并重新启动设备,我仍然随机看到上述问题。

更新:我在 Android 2.3.3 模拟器(API 10)上重试并遇到了同样的问题。我现在确信这里有一个重大错误。我创建了一个简单的测试用例来显示问题。基本上,我将一个 dexified jar 添加到 android 项目的 assets 文件夹中。在启动时,我将此文件复制到应用程序数据区域。然后我启动 x 个线程并在每个线程中使用 DexFile.loadDex 加载这个 dexified jar 文件,但为生成的优化 dex 文件提供不同的输出文件名。如果您选择 x 表示 30 个线程,您几乎可以保证看到多个线程挂起。

只是为了确保我重复了测试,每个线程都有自己独特的 dexified jar 文件。出现同样的问题。

我看到的唯一 LogCat 输出可能提示出了什么问题:

02-23 11:59:23.097: 调试/dalvikvm(12598): DexOpt: 在羊群上睡觉(/data/dalvik-cache/system@framework@core.jar@classes.dex) 02-23 11:59:23.138:调试/dalvikvm(12602):DexOpt:在羊群上睡觉(/data/dalvik-cache/system@framework@core.jar@classes.dex)02-23 11:59:23.357:调试/dalvikvm(12602):DexOpt:在羊群上睡觉(/data/dalvik-cache/system@framework@framework.jar@classes.dex)02-23 11:59:23.419:调试/dalvikvm(12598):DexOpt:在羊群上睡觉(/data/dalvik- cache/system@framework@framework.jar@classes.dex) 02-23 11:59:23.528: DEBUG/dalvikvm(12608): DexOpt: 在羊群上睡觉(/data/dalvik-cache/system@framework@core.jar @classes.dex)02-23 11:59:23.577:调试/dalvikvm(12598):DexOpt:在羊群上睡觉(/data/dalvik-cache/system@framework@services.jar@classes.dex)02-23 11 :59:23.698:调试/dalvikvm(12606):DexOpt:睡在羊群上(/data/dalvik-cache/system@framework@core.jar@classes.dex)

另一个有趣的事情是,作为一个例子,我有一个 dexified jar 文件

myjar.jar(大小 5031)

每个打开这个 dex 文件的线程都会创建一个文件

myjar.jarX.dex(其中 X 是每个线程的唯一整数)(大小 4152)

未完成 DexFile.loadDex 调用的线程仍然设法创建了一个 myjar.jarX.dex 文件,但该文件的大小为 3496

我相信在 Dalvik 本机代码的深处存在某种形式的竞争条件。这对我们来说是一个很大的展示。任何建议如何最好地进行?