类 DexInPlaceRenameEngine
java.lang.Object
io.github.amsonix.molt.internal.bundle.DexInPlaceRenameEngine
post-R8 DEX 类名改包(四大组件 + 自定义 View 共用):
每个输入 dex 完整重写为一个输出 dex,不删类、不追加 supplemental dex。
重写由
DexBinaryPatchWriter 执行,所有 pool index 由 dexlib2 统一重建。-
方法概要
修饰符和类型方法说明static io.github.amsonix.molt.internal.rename.RenameMappingbuildEffectiveMapping(List<byte[]> dexBytesList, io.github.amsonix.molt.internal.rename.RenameMapping mapping) static DexRewritePlanbuildRewritePlan(List<byte[]> dexBytesList, io.github.amsonix.molt.internal.rename.RenameMapping mapping) static DexRewritePlanbuildRewritePlan(List<byte[]> dexBytesList, io.github.amsonix.molt.internal.rename.RenameMapping mapping, List<String> projectPackagePrefixes) static byte[]remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping) static byte[]remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, DexRewritePlan rewritePlan) static byte[]remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, DexRewritePlan rewritePlan, io.github.amsonix.molt.internal.bundle.DexStringEncryptionConfig stringConfig) static byte[]remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, DexRewritePlan rewritePlan, io.github.amsonix.molt.internal.bundle.DexStringEncryptionConfig stringConfig, io.github.amsonix.molt.internal.bundle.DexPerturbationConfig dexPerturb) static byte[]remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, DexRewritePlan rewritePlan, io.github.amsonix.molt.internal.bundle.DexStringEncryptionConfig stringConfig, io.github.amsonix.molt.internal.bundle.DexPerturbationConfig dexPerturb, io.github.amsonix.molt.internal.bundle.AssetsEncryptConfig assetsEncrypt) static byte[]remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, io.github.amsonix.molt.internal.rename.RenameMapping effectiveMapping)
-
方法详细资料
-
buildEffectiveMapping
public static io.github.amsonix.molt.internal.rename.RenameMapping buildEffectiveMapping(List<byte[]> dexBytesList, io.github.amsonix.molt.internal.rename.RenameMapping mapping) throws IOException - 抛出:
IOException
-
buildRewritePlan
public static DexRewritePlan buildRewritePlan(List<byte[]> dexBytesList, io.github.amsonix.molt.internal.rename.RenameMapping mapping) throws IOException - 抛出:
IOException
-
buildRewritePlan
public static DexRewritePlan buildRewritePlan(List<byte[]> dexBytesList, io.github.amsonix.molt.internal.rename.RenameMapping mapping, List<String> projectPackagePrefixes) throws IOException - 抛出:
IOException
-
remapBytes
public static byte[] remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping) throws IOException - 抛出:
IOException
-
remapBytes
public static byte[] remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, io.github.amsonix.molt.internal.rename.RenameMapping effectiveMapping) throws IOException - 抛出:
IOException
-
remapBytes
public static byte[] remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, DexRewritePlan rewritePlan) throws IOException - 抛出:
IOException
-
remapBytes
public static byte[] remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, DexRewritePlan rewritePlan, io.github.amsonix.molt.internal.bundle.DexStringEncryptionConfig stringConfig) throws IOException - 抛出:
IOException
-
remapBytes
public static byte[] remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, DexRewritePlan rewritePlan, io.github.amsonix.molt.internal.bundle.DexStringEncryptionConfig stringConfig, io.github.amsonix.molt.internal.bundle.DexPerturbationConfig dexPerturb) throws IOException - 抛出:
IOException
-
remapBytes
public static byte[] remapBytes(byte[] input, io.github.amsonix.molt.internal.rename.RenameMapping mapping, DexRewritePlan rewritePlan, io.github.amsonix.molt.internal.bundle.DexStringEncryptionConfig stringConfig, io.github.amsonix.molt.internal.bundle.DexPerturbationConfig dexPerturb, io.github.amsonix.molt.internal.bundle.AssetsEncryptConfig assetsEncrypt) throws IOException - 抛出:
IOException
-