如何从命令行合并两个dex文件
How to merge two dex files from command line
从最近几天开始,我开始深入研究android工作室实际上是如何工作的。
我探索了许多工具,如 aapt、dx、dalvikvm 和许多其他工具。
现在我有一个非常简单的问题。我有一个大约 2.7 MB
的 jar 文件(例如称为 abc.jar
),我的应用程序中也有一个非常小的 java 代码。
首先我将我的源代码编译成 .class
个文件。然后我将 .class
文件和 abc.jar
文件 dexed 到 .dex
文件中。
大约用了 40 到 50 秒。但是我能够运行申请成功。
我用来 dex 我的源代码的命令和 abc.jar
dx --dex --output=classes.dex abc.jar *class_files*
现在的问题是,每当我修改我的代码时,我都必须 redex 所有的东西(包括 abc.jar
),这需要数年时间。我现在想要的是 无论如何我必须 dex abc.jar
一次,然后每当我更改我的代码时我只需要 dexed 版本的 abc.jar 并将其添加到我的源代码中 .
就像 android studio 一样。如果你添加一些外部库,首先它需要一些时间来dex
那些库但是之后每当你修改你的代码它不必从头开始 redex
所有 libaries 而只是获取 pre-dexed
libaries 并将它们添加到 apk
.
提前致谢
经过几天的研究,我终于找到了一个方法...
我只是使用 d8
因为 dx
已经折旧了。
d8 dexfile1.dx dexfile2.dex
输出将是 classed S.dx
从最近几天开始,我开始深入研究android工作室实际上是如何工作的。
我探索了许多工具,如 aapt、dx、dalvikvm 和许多其他工具。
现在我有一个非常简单的问题。我有一个大约 2.7 MB
的 jar 文件(例如称为 abc.jar
),我的应用程序中也有一个非常小的 java 代码。
首先我将我的源代码编译成 .class
个文件。然后我将 .class
文件和 abc.jar
文件 dexed 到 .dex
文件中。
大约用了 40 到 50 秒。但是我能够运行申请成功。
我用来 dex 我的源代码的命令和 abc.jar
dx --dex --output=classes.dex abc.jar *class_files*
现在的问题是,每当我修改我的代码时,我都必须 redex 所有的东西(包括 abc.jar
),这需要数年时间。我现在想要的是 无论如何我必须 dex abc.jar
一次,然后每当我更改我的代码时我只需要 dexed 版本的 abc.jar 并将其添加到我的源代码中 .
就像 android studio 一样。如果你添加一些外部库,首先它需要一些时间来dex
那些库但是之后每当你修改你的代码它不必从头开始 redex
所有 libaries 而只是获取 pre-dexed
libaries 并将它们添加到 apk
.
提前致谢
经过几天的研究,我终于找到了一个方法...
我只是使用 d8
因为 dx
已经折旧了。
d8 dexfile1.dx dexfile2.dex
输出将是 classed S.dx