Xposed って何? Xposed 互換のフレームワークについて解説!

「Xposed」を 3 行で解説!

  1. Android ランタイムに介入する仕組みだよ
  2. フレームワークを使用して「モジュール」を作ることができるよ
  3. 現在は Xposed フレームワークを実装した LSPosed がメジャーだよ

Xposed とは

Xposed (えくすぽーずど) は、Android ランタイムに介入して、アプリのプログラムに他のコードを注入する機能を提供する、フレームワークです。

例えば、Android のフレームワークに用意されている API の挙動を変更したり、アプリの気に入らない挙動を変更したりする。といったことが可能です。

Xposed モジュールとは

Xposed フレームワークを導入することで、アプリから Xposed フレームワークの API を使うことができます。API を使用したアプリは一般的に「Xposed モジュール」と呼ばれます。

Xposed モジュールは、Android フレームワークや任意のアプリの挙動を変更するだけのアプリです。モジュールによっては、ホーム画面から開くことができない (アプリに画面が存在しない) ものもあります。設定でモジュールを有効にすると、Xposed モジュールが動作するようになります。

Xposed フレームワークを実装する LSPosed

オリジナルの Xposed は、既に開発が終了しており Android 8.1 まで対応したものしかリリースされていません。最新の Android に対応し、Zygisk にも対応している Xposed フレームワークの実装が LSPosed (えるえすぽーずど) です。

LSPosed 最大の特徴は、Zygisk (ざいじすく) に対応していることです。そのため、コードを注入したいアプリだけに Xposed モジュールを影響させることができるので、他のアプリが Xposed モジュールの存在を検知することが非常に難しくなっています。

LSPosed には互換性があるため、 Xposed モジュールを使うことができます。ただし、オリジナルの Xposed フレームワークで実装されている API のほかに、新規で作られた API があるため、LSPosed 専用の Xposed モジュールが存在します (ややこしいですね)。

非ルートでも使える! Xposed モジュールをアプリにパッチできる「LSPatch」

また、LSPatch (えるえすぱっち) というアプリでは、Xposed モジュールを任意のアプリに適用 (パッチ) することができます。パッチしたアプリをインストールすることで、LSPosed などが導入されていない非ルートデバイスでも、Xposed モジュールを使用することができます。

ただし、Xposed モジュールすべてが LSPatch 上で動作するというわけではなく、モジュールの中には動作しないものもあります。