Después de una larga espera, el desarrollador de Xposed Framework ha anunciado oficialmente que el proyecto ahora es compatible con Android Nougat. ¡Instale los módulos Xposed ahora!
A medida que el ecosistema Android ha madurado a lo largo de los años, cada vez menos usuarios encuentran razones por las que deberían rootear su dispositivo. Hay una tendencia creciente de usuarios que optan por permanecer en el firmware original, ya sea porque consideran que la experiencia es satisfactoria o porque no quieren jugar. Juego del gato y el ratón con la API SafetyNet de Google. Pero si le preguntaste a un usuario a principios de 2016 por qué rootearon sus teléfonos, tal vez la razón número uno que te dieron fue para poder instalar el marco Xposed. Ha sido Más de un año desde Android 7.0 Nougat se lanzó por primera vez, pero la larga espera finalmente terminó: El Xposed Framework oficial para Android Nougat finalmente está disponible.
A lo largo del año pasado, el desarrollador reconocido senior de XDA
rovo89, el desarrollador líder de Xposed Framework, ha proporcionado variosactualizaciones sobre el progreso de Xposed Framework para Android Nougat. Para algunos, el la espera ha sido tolerable principalmente debido a la gran cantidad de funciones adicionales que ofrece Xposed Framework en Androide malvavisco. Pero muchos otros han pasado a una vida sin Xposed en sus dispositivos.Vimos un atisbo de entusiasmo renovado en el proyecto cuando el desarrollador abforce lanzó un Submódulo ART para AOSP 7.1.2, pero como señala nuestro propio GermainZ era mejor que esperaras al Xposed Framework oficial lanzamiento ya que la implementación de abforce requirió que el marco se integrara en ROM personalizadas. Además, Esta implementación no oficial estuvo incompleta, lo que generó un comportamiento inconsistente o con errores en ciertos Xposed. Módulos.
Si bien abforce hizo un gran trabajo al lograr que su Xposed no oficial funcionara en Android 7.1 Nougat, su implementación fue en contra. La visión de rovo89 para Xposed: que debería ser una solución estable que proporcione un contrato confiable y fácil de usar para usuarios y desarrolladores. similar. Lo que queremos decir con esto es que no sólo los módulos deberían funcionar sin problemas para los usuarios, sino también la forma en que se configuran. up debe ser consistente entre los usuarios para que los desarrolladores sepan si un módulo Xposed es el culpable de una aplicación. chocar.
Ya no tenemos que preocuparnos por problemas como rovo89 (después de un poco de ayuda del desarrollador reconocido de XDA wanam) ahora está listo para lanzar una actualización oficial de Xposed Framework e Installer, que trae compatibilidad con Android 7.0/7.1 Turrón. Eso significa que no tendrá que instalar una ROM personalizada ni tener que actualizar versiones inestables para disfrute de Xposed: simplemente rootee su teléfono e instale la última aplicación Xposed Installer (vinculada a continuación) y el Xposed Installer hará la magia de instalar Xposed por ti.
Instalador de Xposed navegando por el repositorio de módulos
Esto puede parecer un poco tarde para algunas personas, especialmente porque esta versión llega más de un mes después del lanzamiento de Android 8.0 Oreo. Tenga en cuenta que muy pocos dispositivos tendrán acceso a una versión estable de Android Oreo durante muchos meses. Android Oreo es sólo en 0.2% de todos los dispositivos Android (en comparación con ~18% en Nougat) según las últimas estadísticas de Google, pero muchos de nuestros usuarios son del tipo que adora instalar ROM personalizadas para mantenerse a la vanguardia.
Aunque incluso si instalas un Puerto no oficial de Android 8.0. Disponibles en una gran variedad de dispositivos en nuestros foros, muchos de estos puertos no son el estado diario del controlador. Entonces, a menos que esté dispuesto a desembolsar cientos de dólares por un nuevo Google Píxel 2/2 XL, Sony Xperia XZ1/XZ1 compacto, o un próximo dispositivo como el Huawei Mate 10, entonces probablemente podrás aprovechar varios meses de uso de Xposed Framework en Android Nougat.
Si eso le suena familiar, diríjase al hilo oficial del foro para obtener Xposed Installer y framework zips para ponerlo en funcionamiento en su dispositivo Android Nougat.
Descargue Xposed Installer v3.1.2 (Adjunto)
Descargar el instalador Xposed para Nougat 7.0 (SDK24)
Descargar el instalador Xposed para Nougat 7.1 (SDK25)
Para los muchos usuarios nuevos que no están tan familiarizados con para qué se puede utilizar Xposed Framework o cómo funciona, les A continuación explicaremos brevemente Xposed Framework, por qué debería estar entusiasmado y por qué el desarrollo de este marco llevó tanto tiempo. hizo.
¿Por qué instalar Xposed Framework?
¿Quiere obtener funciones de ROM personalizadas sin actualizar una ROM personalizada? La madre de todos los módulos Xposed para modificar su ROM, conocida como Caja de gravedad, lo tiene cubierto. ¿Quiere personalizar la configuración de pantalla por aplicación? Intentar Ajustes de Aplicacion. ¿Qué tal personalizar ciertas aplicaciones como ¿Reuniones? O modificando Instagram para que puedas descarga las publicaciones que quieras?
Xposed ofrece a los desarrolladores la posibilidad de modificar prácticamente lo que quieran—Dirigido principalmente a aplicaciones individuales, pero incluso se pueden modificar funciones de todo el sistema. Los ejemplos que enumeramos son sólo la punta del iceberg. La cantidad de funciones adicionales que puedes agregar o aplicaciones que puedes modificar es increíble: simplemente busca en el repositorio oficial del módulo Xposed para verlo por ti mismo. Tenga en cuenta que es posible que sea necesario actualizar algunos módulos para esta nueva versión y para la compatibilidad con Nougat, así que asegúrese de comprobarlo antes de instalarlos en su ROM de Nougat.
¿Cómo funcionan los módulos Xposed?
La esencia de esto es que Xposed Framework permite que los módulos "enganchar" a los métodos Java de cualquier aplicación—ya sea instalado por el usuario o una aplicación del sistema. Xposed permite que los módulos ejecuten sus propios métodos antes, durante o en lugar de los métodos originales de la aplicación de destino.
Por ejemplo, imagine un método utilizado en la aplicación Gmail que publica notificaciones de nuevos correos electrónicos. De forma predeterminada, el método crea una nueva notificación con botones para archivar/eliminar o responder al correo electrónico. Se podría crear un módulo Xposed para conectarse a este método y agregar un nuevo botón como "marcar como leído". (Si hay Ya hay un módulo para eso..)
Lo anterior es una simplificación excesiva del resultado final de lo que Xposed Framework permite que hagan sus módulos. El Framework en sí es increíblemente complejo y hacerlo funcionar casi universalmente en dispositivos rooteados, sin necesidad de una ROM personalizada, es la razón por la cual Xposed para Android Nougat ha tardado tanto en completarse.
¿Por qué el desarrollo de Xposed lleva tanto tiempo?
La magia detrás de Xposed (lo que permite a los módulos conectarse a métodos de otras aplicaciones) requiere un conocimiento profundo de cómo Zygote y el Tiempo de ejecución de Android (ARTE) funciona. Estos requisitos ya impiden que un gran número de personas contribuyan al proyecto, pero el problema se ve agravado por el hecho de que rovo89 ha sido el principal colaborador de Xposed durante los últimos 5 años.
Es por eso que se han negado los pedidos de acceso abierto a las modificaciones realizadas en Xposed desde el último lanzamiento público de Xposed. Es una creación suya y es el mejor para entenderlo y modificarlo, por lo que agrega más mano de obra al proyecto en una etapa tan avanzada. simplemente podría retrasar aún más el proyecto.
Además, si rovo89 actualizaba continuamente su fuente, el estaba preocupado que alguien tomaría el código inacabado para construir un Xposed Framework semifuncional sin el instalador universal de Xposed que lo acompañara. (Esto sucedió exactamente de todos modos con la implementación abforce, y el desorden resultante de varios métodos de instalación justificó la vacilación de rovo89).
Por lo tanto, lo mejor que podíamos hacer era darle tiempo a rovo89 para trabajar en su proyecto favorito. Xposed no es su trabajo a tiempo completo, ni siquiera a tiempo parcial. Es simplemente un pasatiempo, uno que ha hecho en beneficio de la comunidad durante 5 años. Un proyecto tan complejo como Xposed requiere tiempo para trabajar y luego realizar pruebas, tiempo que a menudo no tenía debido a sus otras obligaciones. Progreso era se realizaron durante el año pasado, tal como rovo89 documentó en algunas de sus actualizaciones públicas sobre el tema hasta que finalmente tanto el Xposed Framework como el Xposed Installer estén listos para su lanzamiento.
¿Qué hizo rovo89 para que Xposed funcionara en Nougat?
Las nuevas versiones de Android a veces traen cambios en la forma en que funciona ART, lo que puede requerir que se modifiquen partes de Xposed. Android 7.0 Nougat introdujo un compilador Just-in-Time para ART para ayudar a mejorar el rendimiento en tiempo de ejecución de las aplicaciones, por ejemplo. Pero el Xposed Framework no oficial de abforce simplemente desactiva muchas optimizaciones de ART para que el método de enlace pueda funcionar correctamente.
Por el contrario, la implementación de rovo89 mantiene todas las optimizaciones ART en Android Nougat recompilando la persona que llama a un método usando JIT y aún teniendo los ganchos del método en su lugar. Eso significa que puede disfrutar de los beneficios de un módulo Xposed sin sacrificar el rendimiento al desactivar por la fuerza las optimizaciones de ART.
Para obtener más detalles de lo que hizo rovo89 para lograr finalmente un método de enlace confiable en Xposed para Android Nougat, le recomendamos leer la siguiente declaración que nos proporcionó.
Declaración completa de rovo89
El núcleo de Xposed es obviamente su capacidad para enganchar métodos Java, es decir, permitir que los módulos ejecuten código antes, después o en lugar de estos métodos. Prácticamente todas las demás funciones se basan en esto, por lo que es fundamental que siempre funcione como se espera. El concepto general ha sido el mismo desde que inventé Xposed hace cinco años, requiere cambiar el punto de entrada del método. Esto comienza a fallar cuando el punto de entrada no se verifica durante la ejecución, lo que en realidad es el caso con algunas de las optimizaciones en ART.
Un ejemplo es cuando el punto de entrada ya se conoce en el momento de la compilación, las personas que llaman pueden saltar directamente a esta dirección sin buscarla. Otro ejemplo es el en línea. Considere este ejemplo:
ART es lo suficientemente inteligente como para darse cuenta de que el método dos veces() es muy simple y, por lo tanto, incorpora la lógica directamente en el método doSomething(), así:
Aún puedes conectar el método two(), pero ya no será llamado desde doSomething() en tiempo de ejecución, al igual que tu devolución de llamada. ART es aún más inteligente: se da cuenta de que la magia siempre existe y, por lo tanto, la condición nunca puede cumplirse. Entonces, todo el método doSomething() en realidad no funciona:
En versiones anteriores, Xposed solía desactivar estas optimizaciones por completo y forzaba la recompilación de todo. Esto tuvo varias desventajas. En primer lugar, los desarrolladores de ART están haciendo un trabajo fantástico al maximizar el rendimiento con su optimizaciones, y deshabilitarlas en parte necesariamente conduce a un menor rendimiento (nunca medí cuánto aunque). Además, la recopilación en sí no siempre es fácil y me causó muchos dolores de cabeza, especialmente al principio. Finalmente, los archivos recompilados ocupan espacio, además de los archivos precompilados en /system.
Las versiones no oficiales de Nougat también desactivan estas optimizaciones, pero no fuerzan la recompilación (porque el port se creó originalmente para integrarse en la ROM). Por lo tanto, es posible que en ocasiones los ganchos no se ejecuten.
Con la versión oficial, podrás conservar el código optimizado y seguir teniendo ganchos confiables. ¿Cómo funciona? Pues Xposed graba todas las llamadas que se realizan. Esto sucede mientras se compilan los APK o en una pasada separada para el código preoptimizado. Estos datos adicionales no ocupan mucho espacio, pero permiten a Xposed descubrir dónde podría haberse incluido un determinado método. Entonces, cuando un método está enganchado, todos los llamadores quedarán desoptimizados, es decir, su código ya no se utilizará. Esto garantiza que definitivamente se llamará la devolución de llamada del gancho. Y si la persona que llama se usa mucho, simplemente se volverá a compilar con JIT, esta vez sabiendo que el método está enganchado y, por lo tanto, algunas de las optimizaciones no se aplican. Esto significa que los efectos de los métodos de enganche se reducen al mínimo. ¡Hurra!
Ahora adelante y pruébalo. Asegúrese de utilizar Xposed Installer 3.1.2, ya que la ruta de configuración tuvo que cambiarse para admitir el cifrado basado en archivos.
leer más
Conclusión
Esperamos que esté tan entusiasmado como nosotros con el lanzamiento de Xposed para Android 7.X Nougat. La espera ha sido larga, pero inevitable dada la enorme complejidad de Xposed. Si todavía estás confundido acerca de qué es Xposed o cómo funciona, no te preocupes. Muy pocas personas (incluidos nosotros) entienden realmente cómo funciona. Los desarrolladores como rovo89 hacen todo lo posible al empaquetar su trabajo para que usted no tenga que entender realmente lo que sucede debajo del capó.
¿Te gusta el marco Xposed? Considere hacer una donación a rovo89 por el increíble trabajo que realiza. Si cree que tiene lo necesario para contribuir al proyecto, consulte la página de GitHub de rovo89 a continuación.
Donar a rovo89
Contribuir a Xposed
¿Busca módulos Xposed? Consulte nuestro subforo de módulos Xposed Framework o descargue la aplicación XDA Labs y explore nuestra colección de módulos Xposed.
Foro de módulos Xposed
Descargar Laboratorios XDA
Progreso de Android Oreo
En caso de que se lo pregunte, así es como está el progreso para obtener Xposed para Android Oreo:
Ya comencé a trabajar en Android 8.0. Hay algunos nuevas características del idioma eso tendré que mirar, pero el concepto general aún debería funcionar. Eso incluye todo el trabajo para invalidar el código compilado de cualquier persona que llama cuando un método está enganchado, lo que fue, con diferencia, la mayor parte del tiempo cuando trabajé en Nougat. Así que estoy realmente seguro de que esta vez seré mucho más rápido. Android 8.1No debería ser muy diferente, por lo que no espero mucho trabajo adicional.