Android Nougat 用の公式 Xused フレームワークが登場

click fraud protection

長い間待たされましたが、Xused Framework の開発者は、プロジェクトが Android Nougat をサポートするようになったと正式に発表しました。 今すぐ Xused モジュールをインストールしてください。

Android エコシステムが長年にわたって成熟するにつれて、デバイスを root 化する必要がある理由を見つけるユーザーはますます少なくなりました。 エクスペリエンスに満足しているか、またはゲームをプレイしたくないため、ストックファームウェアを使い続けることを選択するユーザーの傾向が高まっています。 Google の SafetyNet API を使用したいたちごっこ. しかし、2016 年の初めにユーザーに携帯電話を root 化した理由を尋ねたとしたら、おそらく一番の理由は、 Xused フレームワークをインストールする. それはありました Android 7.0 Nougat から 1 年以上 が最初にリリースされましたが、長い待ち時間がついに終わりました。 Android Nougat 用の公式 Xused Framework がついに利用可能になりました。

過去 1 年間を通じて、XDA 上級開発者として認められました。 ロボ89Xused Framework の主任開発者である が提供しています。 いくつかのアップデート Android Nougat 用 Xused Framework の進捗状況について。 一部の人にとっては、 待つことは耐えられるようになった その主な理由は、Xused Framework が提供する膨大な数の追加機能によるものです。 アンドロイドマシュマロ. しかし、他の多くの人は、自分のデバイスに Xused を使用しない生活に移行しました。

開発者のabforceがリリースしたとき、プロジェクトの新たな興奮を垣間見ることができました。 AOSP 7.1.2 用の ART サブモジュールしかし、私たち自身のGermainZが指摘しているように、 公式の Xused Framework を待ったほうがよいでしょう abforce の実装としてリリースするには、フレームワークをカスタム ROM に統合する必要がありました。 さらに、 この非公式実装は不完全であったため、特定の Xused で一貫性のない動作やバグのある動作が発生しました。 モジュール。

abforce は非公式の Xused を Android 7.1 Nougat で動作させるという点で素晴らしい仕事をしましたが、彼の実装は違反でした。 rovo89 の Xused に対するビジョン - ユーザーと開発者に信頼性が高く使いやすいコントラクトを提供する安定したソリューションであるべきである 似ています。 これが意味するのは、モジュールがユーザーにとって問題なく動作するだけでなく、モジュールの設定方法も重要であるということです。 Xused モジュールがアプリの原因であるかどうかを開発者がわかるように、up はユーザー間で一貫している必要があります。 クラッシュ。

(XDA Recognized Developer の支援により、rovo89 などの問題を心配する必要がなくなりました) ワナム) は、Xused フレームワークとインストーラーの公式アップデートをリリースする準備ができています。 Android 7.0/7.1 Nougatとの互換性. つまり、カスタム ROM をインストールしたり、不安定なバージョンをフラッシュしたりする必要がなくなります。 Xused をお楽しみください。携帯電話を root 化し、最新の Xowned インストーラー アプリケーション (以下にリンク) をインストールするだけです。 の Xused インストーラーは、魔法のような Xowned のインストールを行います。.

Xused インストーラーによるモジュール リポジトリの参照

特にこのリリースがリリースされてからは、これは一部の人にとっては少し遅いように思えるかもしれません Android 8.0 Oreo がリリースされてから 1 か月以上. 今後数か月間、Android Oreo の安定バージョンにアクセスできるデバイスはほとんどないことに注意してください。 アンドロイドオレオは のみ 0.2% すべての Android デバイスの Google の最新統計によれば (Nougat では約 18% と比較)、しかしユーザーの多くは最先端を維持するためにカスタム ROM のインストールを好むタイプです。

Android版は2017年10月現在配信中。 ソース: グーグル

たとえインストールしたとしても Android 8.0の非公式移植 フォーラムでは無数のデバイスで利用できますが、これらのポートの多くは毎日のドライバー ステータスではありません。 したがって、新品に何百ドルも払う気がない限り、 Google Pixel 2/2 XL、 ソニー Xperia XZ1/XZ1 Compact、または次のようなデバイス ファーウェイメイト10そうすれば、Android Nougat で Xused Framework を数か月使用できるようになるでしょう。

そう思われる場合は、Xused インストーラーとフレームワーク zip の公式フォーラム スレッドにアクセスして、Android Nougat デバイス上で起動して実行してください。

Xused インストーラー v3.1.2 (添付ファイル) をダウンロード

Nougat 7.0 (SDK24) の Xowned インストーラーのダウンロード

Nougat 7.1 (SDK25) の Xused インストーラーのダウンロード

Xused Framework が何に使用できるか、またはそれがどのように機能するかをよく知らない多くの新規ユーザーのために、 以下で Xused Framework について簡単に説明します。なぜ興奮するのか、そしてなぜこのフレームワークの開発にこれほど長い時間がかかったのかを説明します。 した。


Xused Framework をインストールする理由は何ですか?

カスタム ROM をフラッシュせずにカスタム ROM 機能を入手したいですか? ROM を微調整するためのすべての Xused モジュールのマザー、として知られています。 重力ボックス、カバーしましたか? アプリごとに表示設定をカスタマイズしたいですか? 試す アプリの設定. 次のような特定のアプリケーションをカスタマイズしてみてはいかがでしょうか ハングアウト? または Instagram を変更して、 好きな投稿をダウンロードしてください?

Xused を使用すると、開発者は次のことが可能になります。 彼らが望むものはほとんど何でも変更します- 主に個々のアプリケーションを対象としていますが、システム全体の機能も変更できます。 ここで挙げた例は氷山の一角にすぎません。 追加できる追加機能や変更できるアプリの数は膨大です。 公式 Xused モジュール リポジトリ 自分の目で見てください。 一部のモジュールは、この新しいリリースと Nougat のサポートのために更新する必要がある可能性があるため、Nougat ROM にインストールする前に必ず確認してください。

Xused モジュールはどのように機能しますか?

その要点は、Xused Framework によりモジュールが次のことを可能にするということです。 任意のアプリケーションの Java メソッドに「フック」する- ユーザーがインストールしたものであっても、システム アプリケーションであっても。 Xused を使用すると、モジュールが独自のメソッドを実行できるようになります 前、最中、または代わりに 対象アプリケーションの独自メソッド。

たとえば、新しいメールの通知を投稿する Gmail アプリケーションで使用されるメソッドを想像してください。 デフォルトでは、このメソッドは、電子メールをアーカイブ/削除するか、電子メールに返信するためのボタンを備えた新しい通知を作成します。 Xused モジュールをこのメソッドにフックして、「既読としてマーク」などの新しいボタンを追加することができます。 (はい、あります すでにそのためのモジュールになっています.)

上記は、Xused Framework がモジュールに実行できることの最終結果を過度に単純化したものです。 フレームワーク自体は信じられないほど複雑で、カスタム ROM を必要とせずにルート化されたデバイスでほぼ普遍的に動作するようにするため、Xused for Android Nougat が完成するまでにこれほど長い時間がかかりました。

Xused の開発にこれほど時間がかかるのはなぜですか?

Xused の背後にある魔法、つまりモジュールが他のアプリのメソッドにフックできるようにするには、Zygote と Android ランタイム (ART)が動作します。 これらの要件により、すでに多くの人がプロジェクトに貢献することができなくなっていますが、問題はさらに悪化しています。 rovo89 は過去 5 年間、Xused への主な貢献者でした.

それが、Xused の最後の公開リリース以降に Xused に加えられた修正をオープンソース化するという要求が拒否された理由です。 これは彼の発案であり、それを理解し、修正するのが彼が最も得意であるため、このような遅い段階でプロジェクトに人員を追加することになります。 プロジェクトをさらに遅らせるだけかもしれない.

さらに、rovo89 がソースを継続的に更新していれば、 彼は心配していた 誰かが未完成のコードを使用して、ユニバーサル Xused インストーラーを付属させずに半機能の Xused Framework を構築する可能性があるということです。 (とにかく、これとまったく同じことが abforce の実装で起こり、その結果として生じたさまざまなインストール方法の混乱は、rovo89 の躊躇を正当化しました。)

したがって、私たちができる最善のことは、rovo89 に彼の得意なプロジェクトに取り組む時間を与えることでした。 Xused は彼の本業ではなく、パートタイムの仕事ですらありません。 これは単なる趣味であり、彼がコミュニティの利益のために 5 年間続けてきたものです。 Xused のような複雑なプロジェクトでは、作業してからテストする時間が必要ですが、他の義務があるため、その時間があまり取れませんでした。 進捗 だった rovo89 がこの問題に関するいくつかの公開アップデートで文書化したように、この 1 年間にわたって作成され、最終的に Xused Framework 自体と Xused Installer の両方がリリースの準備が整いました。

Xused を Nougat で動作させるために rovo89 は何をしましたか?

Android の新しいリリースでは、ART の動作方法に変更が加えられる場合があり、その場合は Xowned の一部の再加工が必要になる場合があります。 Android 7.0 Nougat では、たとえばアプリケーションの実行時のパフォーマンスを向上させるために、ART 用の Just-in-Time コンパイラが導入されました。 しかし、abforce による非公式の Xused Framework は、メソッド フックが正しく機能するように、多くの ART 最適化を無効にするだけです。

Android Nougat の ART 最適化。 ソース: グーグル

対照的に、rovo89 の実装は Android Nougat ですべての ART 最適化を維持します JIT を使用してメソッドの呼び出し元を再コンパイルし、メソッド フックを引き続き配置することによって。 つまり、ART 最適化を強制的に無効にすることで、パフォーマンスを犠牲にすることなく Xused モジュールの利点を享受できるということです。

rovo89 が最終的に Android Nougat 向け Xused で信頼性の高いフッキング メソッドを実現するために行ったことの詳細については、彼が提供した以下の声明を読むことをお勧めします。

rovo89 の声明全文

Xused の核心は明らかに、Java メソッドをフックする機能です。つまり、モジュールがこれらのメソッドの前、後、またはその代わりにコードを実行できるようにします。 他のほぼすべての機能はこれに基づいているため、常に期待どおりに動作することが重要です。 私が 5 年前に Xused を発明して以来、一般的なコンセプトは同じであり、メソッドのエントリ ポイントを変更する必要があります。 これは、実行中にエントリ ポイントがチェックされない場合に失敗し始めます。実際、ART の一部の最適化ではこれが当てはまります。

一例として、コンパイル時にエントリ ポイントがすでにわかっている場合、呼び出し元は検索せずにこのアドレスに直接ジャンプできます。 別の例はインライン化です。 次の例を考えてみましょう。

ART は賢く、twice() メソッドが非常に単純であるため、次のようにロジックを doSomething() メソッドに直接埋め込みます。

twice() メソッドをフックすることはできますが、実行時に doSomething() から呼び出されなくなり、コールバックも呼び出されなくなります。 ART はさらに巧妙です。マジックは常に 42 であるため、条件は決して満たされないことを認識します。 したがって、 doSomething() メソッド全体は実際には何も行われません。

以前のバージョンでは、Xused はこれらの最適化を完全に無効にし、すべてを強制的に再コンパイルしていました。 それにはいくつかの欠点がありました。 まず第一に、ART 開発者は、パフォーマンスを最大化するという素晴らしい仕事をしています。 最適化が行われており、それらを部分的に無効にすると必然的にパフォーマンスの低下につながります(どの程度かを測定したことはありません) けれど)。 そして、再コンパイル自体は必ずしも簡単ではなく、特に最初はかなりの頭痛の種になりました。 最後に、/system 上のプリコンパイルされたファイルに加えて、再コンパイルされたファイルもスペースを占有します。

Nougat の非公式バージョンでもこれらの最適化は無効になっていますが、再コンパイルは強制されません (ポートはもともと ROM に統合されるように作られていたため)。 そのため、フックが実行されない場合があります。

正式バージョンでは、最適化されたコードを維持しながら、信頼性の高いフックを使用できます。 それはどのように機能するのでしょうか? Xused は、行われたすべての通話を記録します。 これは、APK のコンパイル中、または事前に最適化されたコードの別のパスで発生します。 この追加データは多くのスペースを占有しませんが、これにより、Xposed は特定のメソッドがインライン化された可能性のある場所を見つけることができます。 したがって、メソッドがフックされると、その呼び出し元はすべて非最適化されます。つまり、メソッドのコードは使用されなくなります。 これにより、フック コールバックが確実に呼び出されます。 また、呼び出し元が頻繁に使用されている場合は、メソッドがフックされているため、一部の最適化が適用されないことを認識した上で、単純に JIT で再コンパイルされます。 これは、フックメソッドの影響が最小限に抑えられることを意味します。 わーい!

さあ、試してみてください。 ファイルベースの暗号化をサポートするには構成パスを変更する必要があるため、必ず Xused インストーラー 3.1.2 を使用してください。

続きを読む

結論

Xused for Android 7.X Nougat のリリースについて、私たちと同じように皆さんも興奮していただければ幸いです。 待ち時間は長かったですが、Xused の複雑さを考えると避けられません。 Xused とは何か、またはその仕組みについてまだ混乱している場合でも、心配する必要はありません。 実際にその仕組みを理解している人は (私たちも含めて) ほとんどいません。 rovo89 のような開発者は、内部で何が起こっているかを実際に理解する必要がないように、作業をパッケージ化することに最善を尽くしています。

Xused フレームワークは好きですか? 彼の素晴らしい仕事のために rovo89 に寄付することを検討してください。 このプロジェクトに貢献するのに必要な資質があると思われる場合は、以下の rovo89 の GitHub ページをチェックしてください。

rovo89に寄付する

Xused に貢献する

Xused モジュールをお探しですか? Xused Framework Module サブフォーラムをチェックするか、XDA Labs アプリケーションをダウンロードして Xused モジュールのコレクションを参照してください。

Xped モジュール フォーラム

XDA ラボをダウンロード

Android Oreo の進捗状況

ご参考までに、Android Oreo 向け Xused の入手の進捗状況は次のとおりです。

すでに Android 8.0 での作業を開始しています。 いくつかあります 新しい言語機能 それについては検討する必要がありますが、一般的な概念はまだ機能するはずです。 これには、メソッドがフックされたときに呼び出し元のコンパイル済みコードを無効にするすべての作業が含まれます。これは、私が Nougat で作業していたときに最も時間がかかりました。 だから今回はもっと速くなれると確信しています。 アンドロイド8.1大きな違いはないはずなので、追加の作業はあまり必要ないと思います。