Android dx 使用

标签 android jar dex dx

我有一个从 Android 应用程序创建的 jar 文件,因为我在创建时在 eclipse 中将其标记为“Is 库”。现在,DexClassLoader 无法加载该文件,因为它没有标记为classes.dex 的条目。这看起来像一个标准 jar 。如何将这样的 jar 转换为 DexClassLoader 可以加载的带有 dx 的 dexed jar?任何帮助表示赞赏!

最佳答案

您可以从命令行使用 sdk 中的 dx 工具。像这样的东西:

dx --dex --output=dexed.jar hello.jar

对我有用。将这些东西集成到您的构建过程中是一种魔法,主要涉及破解 SDK 提供的 ant 构建脚本。如果您的库只是偶尔更新,则手动执行可能是可行的。

就我而言,我将 dexed.jar 保存在 resources/raw 文件夹中。在运行时,我将其从那里复制到文件系统中,然后将文件系统路径传递给 DexClassLoader。有点……有点颠簸。

关于Android dx 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11574233/

相关文章:

android - Branch.io 延迟深度链接在 Facebook 广告中不起作用

java - 将 Java 程序链接到 uber jar

android - 多个R.java中的冗余资源引用导致Dax Index OverflowException

android - 如何使用 android 中的 OSM 数据为单个城市实现离线地理编码器?

java - Android 上的 MVC 模式

Android Recyclerview vs ListView with Viewholder

java - 在可执行 jar 中使用非可执行 jar 中的类

Eclipse:令人困惑的添加到构建路径选项

android - 无法执行 dex : method ID not in [0, 0xffff]:65536

android - 安装应用程序需要几分钟时间,并出现 dex2oat 警告