gpt4 book ai didi

android - 有没有办法使用 Scala 将两个或多个 .dex 文件合并到一个 .dex 文件中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:25:56 27 4
gpt4 key购买 nike

我正在对 Jan Berkel 的 SBT Android 插件进行一些黑客攻击,我在想是否有一种方法可以将多个 .dex 文件合并到一个 .dex 文件中包含所有这些。

例如,如果我有这个:

classes1.dex
classes2.dex
classes3.dex

有什么方法可以使用 Scala(在某个可接受的时间)将它们合并到一个 classes.dex 文件中,该文件将包含所有 3 个文件并具有以下结构:

classes.dex
|-- classes1/...
|-- classes2/...
\-- classes3/...

最佳答案

好的,我好像发现了什么。

import com.android.dx.io.DexBuffer
import com.android.dx.DexMerger
import com.android.dx.merge.CollisionPolicy
...
val dexA = DexBuffer(File(classes1DexFilePath))
val dexB = DexBuffer(File(classes2DexFilePath))
val dexMerger = DexMerger(dexA, dexB, CollisionPolicy.FAIL)
val dexM = dexMerger.merge()
dexM.writeTo(File(classesDexFilePath))

谁能证实这确实有效?

此外,如果这可行,那么合并 2 个以上的 dex 文件应该与 Max(Max(A, B), C) 相同,前提是您编写一个带有原型(prototype)的方法
DexBuffer merge(DexBuffer dexA, DexBuffer dexB)

来源:
DexMerger
DexBuffer
CollisionPolicy

关于android - 有没有办法使用 Scala 将两个或多个 .dex 文件合并到一个 .dex 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11257378/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com