类 DexInPlaceRenameEngine

java.lang.Object
io.github.amsonix.molt.internal.bundle.DexInPlaceRenameEngine

public final class DexInPlaceRenameEngine extends Object
post-R8 DEX 类名改包(四大组件 + 自定义 View 共用): 每个输入 dex 完整重写为一个输出 dex,不删类、不追加 supplemental dex。 重写由 DexBinaryPatchWriter 执行,所有 pool index 由 dexlib2 统一重建。
  • 方法概要

    修饰符和类型
    方法
    说明
    static io.github.amsonix.molt.internal.rename.RenameMapping
    buildEffectiveMapping(List<byte[]> dexBytesList, io.github.amsonix.molt.internal.rename.RenameMapping mapping)
     
    buildRewritePlan(List<byte[]> dexBytesList, io.github.amsonix.molt.internal.rename.RenameMapping mapping)
     
    buildRewritePlan(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)
     

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 方法详细资料

    • 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