el desarrollo del módulo XPOSED para lograr entorno de desarrollo Runner AndriodStudio. Escribir tutoriales módulo de marco Xposed

Prefacio:

     Xposed marco es un marco de código abierto que puede afectar su función es ejecutar (modificar el sistema) en el marco del servicio sin modificar APK basada en que puede crear muchos módulos de gran alcance, mientras que en el caso de funciones que no están en conflicto operación. Xposed es como el principal modular de teléfono Google, sólo hay un marco, antes de añadir otros módulos funcionales (módulos), no puede jugar ningún papel, pero no sirvió de nada. Precisamente por esto, Xposed puede tener un relativamente alto grado de personalización. Moto X usuarios pueden personalizar la apariencia de los teléfonos móviles, fondos de pantalla, animación de arranque, el módulo de opción Xposed permite al usuario personalizar la extensión de la función de teléfono.

directorio

Introducción:
1, los módulos de XPOSED escritos Introducción

2, el primer paso, el nuevo proyecto y editar AndroidManifest.xml

3, el segundo paso, y get build.gradle XposedBridgeApi-xx.jar

4, el tercer paso, la operación del gancho para lograr código específico

5, el último paso, añadir un punto de entrada
6 Conclusión:


 

1, módulos XPOSED escritos Introducción

XPOSED marco de los principios no quiere decir que se despliega en los teléfonos Android ROOT, mediante la sustitución del proceso del sistema / / bin / app_process control del programa cigoto, haciendo app_process durante el proceso de arranque se carga XposedBridge.jar este paquete frasco, completando así máquina virtual cigoto secuestrar el proceso y su Dalvik creado. nos dejó sin modificar el código fuente de la APK para influir en los servicios que se ejecutan a través del marco de los propios módulos preparados para lograr la apropiación automática parecido un sobre rojo, micro-canal de mensajes de respuesta automática y otras funciones.

De hecho, en esencia, el módulo de Xposed es un programa de Android. Pero la diferencia es que el procedimiento ordinario, que desea escribir programas para Android se convierte en un módulo Xposed, para ser más duro para completar las cuatro tareas siguientes:

1, marco de dejar que XPOSED en el teléfono instalado este programa que sabemos que es XPOSED módulos.

2, incluye un módulo para XPOSED en un frasco de API, a fin de lograr la siguiente operación de gancho.

3, el módulo de qué método de gancho para la operación del programa de destino tiene.

4, deje marco XPOSED en el know teléfono, escribimos módulo Xposed, que es la implementación de la operación de gancho.

Esto conduce me va a introducir cuatro piezas (once en comparación con los primeros cuatro pasos):

1, AndroidManifest.xml

2, XposedBridgeApi-xx.jar 与 build.gradle

3, la operación del gancho para lograr código específico

4, xposed_Init

Tenga en cuenta estas cuatro piezas, una por una, a fin de lograr, será capaz de completar la preparación de nuestro primer módulo Xposed. Vamos a empezar!

 

2, el primer paso, el nuevo proyecto y editar AndroidManifest.xml

1, el primer Android Studio abierto (a la versión 3.1, por ejemplo, seguir utilizando la antigua versión de actualización), el establecimiento de un proyecto, se solicita que seleccione "Actividad", a continuación, elija una barra de Actividad vacío. (Esta es la interfaz del módulo, puede ser elegido al azar).

Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

 

2, podemos ver la forma en que el proyecto se establece en modo de proyecto para facilitar la visualización. A continuación, busque AndroidManifest.xml bajo "Proyecto / / Nombre / app src principal /" directorio, haga doble clic en él, e inserte las tres secciones siguientes del código en la ubicación especificada:

<meta-data

android:name="xposedmodule"

android:value="true" />

<meta-data

    android:name="xposeddescription"

    android:value="这是一个Xposed例程" />

<meta-data

    android:name="xposedminversion"

    android:value="53" />

Y la posición de inserción se muestra en la figura Código Descripción.:

Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

Después de la inserción, si se pone el teléfono conectado a la Android Studio, haga clic en "Compilar" o "Ejecutar", el teléfono comenzará acabo de escribir este programa. Y en el teléfono del marco Xposed también mostrará este módulo:

Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

 Descripción del marco Xposed ha sido reconocida programas que escribimos. Pero primero no lo hacemos feliz demasiado pronto - aunque el marco ya se cree que es un módulo Xposed, pero nuestra propia mente clara, este módulo también en consecuencia no se secará aún. A continuación, vamos a hacer este punto larga módulo de habilidad.

 

3, el segundo paso, y get build.gradle XposedBridgeApi-xx.jar

Sabemos, la función principal del módulo Xposed se utiliza para diversas funciones Enganche otros programas. Sin embargo, la forma de hacer un paso delante de la "blanco pobre" módulo de larga habilidad que? Que se va a introducir XposedBridgeApi.jar este paquete, se puede entender como un arma, la espada Con este módulo para mostrar sus habilidades gancho. Previamente, es necesario descargar el paquete jar manualmente como XposedBridgeApi-54.jar, XposedBridgeApi-82.jar, etc., y luego importados manualmente en el directorio libs, con el fin de dar el siguiente camino. De hecho, Android Studio 3.1 en el interior, que absolutamente no tenemos demasiados problemas, sólo es necesario escribir una línea de código, vamos a dar AndroidStuido configuración automática XposedBridgeApi.jar! La operación comienza (y luego el número uno):

3, se encuentran build.gradle bajo "Proyecto / / Nombre / app src principal /" directorio, añadir en la posición que se muestra:

repositories {

    jcenter()

}

y

compileOnly 'de.robv.android.xposed:api:82'

compileOnly 'de.robv.android.xposed:api:82:sources'

Este código indica AndroidStuido uso JCentro como un repositorio de código, alejado del almacén para encontrar de.robv.android.xposed: api: 82 esta API. Pocos línea Xposed este tutorial! (No encontramos XposedBridgeApi.jar su atención aquí para su uso! CompileOnly este modificador Algunos de escritura en línea es proporcionar, es ahora desactivado !!) Figura:

Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

 

Después de la escritura, build.gradle le pedirá el archivo ha sido modificado, si la sincronización. Clic en "Sincronizar ahora", puede sincronizar:

[Sal: si la red se desconecta o mala sincronización, no realice la tercera etapa de repositorios {JCentro ()} de esta etapa, este paso se transforma en:]

Descarga manual XposedBridgeApi-82.jar, arrastrar al "Proyecto / / / nombre de la aplicación libs" dentro (no Internet, dijo que el establecimiento de una carpeta de la liberación separada, que fue la historia hace mucho tiempo!), Luego a la derecha en "añadir como biblioteca" en su propio Añadir el paquete frasco. El compileOnly 'de.robv.android.xposed: api: 82' y compileOnly 'de.robv.android.xposed: api: 82: fuentes de estos dos siguen como de costumbre añadido.

Pues bien, ahora la espada en la mano. A continuación, comienza "cuchillo de yeso" (gancho escribir código) a.

 

4, el tercer paso, la operación del gancho para lograr código específico

     4, antes de "cuchillo de yeso" (escribir código gancho), tenemos que establecer un objetivo. Dibuje un botón en la interfaz de código y escribir en MainAcitiviy en la siguiente:

package com.example.root.xposd_hook_new;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button button;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        button = (Button) findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                Toast.makeText(MainActivity.this, toastMessage(), Toast.LENGTH_SHORT).show();

            }

        });

    }

    public String toastMessage() {

        return "我未被劫持";

    }

}
Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

 

El objetivo es simple: Interfaz MainActivity tiene un botón, haga clic en el botón aparecerá un indicador de la tostada, los contenidos de los consejos proporcionados por el método toastMessage (), mientras que toastMessage () valor de retorno "No estaba secuestro":

Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

Aquí empezamos "cuchillo de yeso" (Código de gancho de escritura) para enganchar nuestra MainActivity y modificar toastMessage esta clase () método, se devuelve un valor de "Usted ha sido secuestrado":

5, una nueva clase "HookTest.java" camino MainActivity en el mismo nivel, como sigue:

 

package com.example.root.xposd_hook_new;

import de.robv.android.xposed.IXposedHookLoadPackage;

import de.robv.android.xposed.XC_MethodHook;

import de.robv.android.xposed.XposedBridge;

import de.robv.android.xposed.XposedHelpers;

import de.robv.android.xposed.callbacks.XC_LoadPackage;

public class HookTest implements IXposedHookLoadPackage {

    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {

        if (loadPackageParam.packageName.equals("com.example.root.xposd_hook_new")) {

            XposedBridge.log(" has Hooked!");

            Class clazz = loadPackageParam.classLoader.loadClass(

                    "com.example.root.xposd_hook_new.MainActivity");

            XposedHelpers.findAndHookMethod(clazz, "toastMessage", new XC_MethodHook() {

                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

                    super.beforeHookedMethod(param);

                    //XposedBridge.log(" has Hooked!");

                }

                protected void afterHookedMethod(MethodHookParam param) throws Throwable {

                    param.setResult("你已被劫持");

                }

            });

        }

    }

}

Conocido por el código, que handleLoadPackage se consigue mediante un método IXposedHookLoadPackage programas de interfaz de gancho y muestra el resultado de la manipulación. Código "com.example.root.xposd_hook_new" es el nombre del paquete del programa de destino, "com.example.root.xposd_hook_new.MainActivity" pretende Enganche de clase "toastMessage" es el método que desea conectar. Nos afterHookedMethod método (utilizado para definir el objetivo de métodos después de gancho en funcionamiento), modificar los toastMessage () devuelve el método un valor, "Usted ha sido secuestrado."

OK, más de enganchar la codificación se ha completado, vamos a proceder.

 

5, el último paso, añadir el punto de entrada

Haga clic derecho en la carpeta "principal", seleccione Nuevo -> Carpeta -> Carpeta Activos, los nuevos activos de carpetas:

Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

 

A continuación, haga clic en los activos de la carpeta, Nuevo-> archivo, el nombre del archivo xposed_init (tipo de archivo de texto seleccionado), y en el que escribir la ruta completa a la clase de entrada (es decir, he escrito una clase Hook), por lo que, el marco Xposed lata de esta xposed_init leer información para encontrar el módulo de entrada, entonces opera el gancho:

Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

Pues bien, el amanecer está por delante! Por último, optar por desactivar instantánea Run: Haga clic en Archivo -> Configuración -> Generar, ejecución, despliegue -> Ejecutar instantánea, el gancho toda eliminado. 

Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

 

A continuación, haga clic en el pequeño triángulo "Ejecutar"! Se encuentra en los módulos de marco Xposed a escribir su propia, garrapata, reiniciar - punto de abrir sus propios procedimientos para ver, no es la tostada del prompt ha cambiado?

Xposed Módulo de Desarrollo tutoriales escritos
Xposed Módulo de Desarrollo tutoriales escritos

 

6. Conclusión:

En general también se basa en la experiencia de muchos de sus predecesores, lo que va marco XPOSED para uso básico se ha completado. Si mal, por favor, corríjanme.

 

Liberadas dos artículos originales · ganado elogios 0 · Vistas 7

Supongo que te gusta

Origin blog.csdn.net/weixin_46475231/article/details/104811946
Recomendado
Clasificación