Entre las soluciones de hot patch más conocidas se incluyen Tencent Tinker, Ali's Andfix, Meituan's Robust y la solución super patch de Qzone.
Tenga en cuenta que si la ofuscación está habilitada, se reemplazará la clase ofuscada. Por ejemplo, nuestra clase utils. Revisamos el archivo debug-> mapping.txt y se confundió con una clase. Luego, para nuestro paquete de parches, necesitamos escribir la clase a.
Como puede ver, al usar el reemplazo de clase, debe reiniciar y no puede tener efecto de inmediato.
AndFix ahora está obsoleto. Pero puedes aprender cómo funciona. Es un método para reemplazar dinámicamente la capa java en la capa nativa, y el código de la capa java es activado por la capa nativa.
AndFix usa anotaciones personalizadas para especificar métodos con errores:
public class Test {
@MethodReplace(class="com.example.myapplication.Test",method="test")
public void test(){
}
}
Su principio:
Cuando obtenga mi paquete de parches Test, use la carga de clases, obtenga Test.class y luego use la reflexión para recorrer todos los métodos de esta clase. Obtenga el objeto Método y obtenga la prueba del método. Luego reflexiona para obtener la anotación. Después de obtener la anotación, obtenga los parámetros de clase y método. Entonces puedes reemplazar el método.