Android LollipopのXposedフレームワークはこちら!

Xposed Frameworkは、読者への紹介を必要としません。 私たちのコミュニティがLollipopについて最も嫌っていることについて尋ねられたとき、議論の中で唯一の最高の投票されたコメントはそれがXposedのサポートを壊したということでした。 実際、多くのフォーラムメンバーは、この理由のためにLollipopへの更新を拒否しています。 しかし、Android Lollipopの待望のXposed Frameworkがようやく到着したため、すべてが変更されました。

Xposedにまだ慣れていないなら、簡単に言えば、それは改造コミュニティにとって天の恵みです。 XposedはROMをフラッシュする必要はありませんが、ルート化されたデバイスにアプリのようにインストールできる多くのカスタマイズと調整をもたらします。 使用方法は非常に簡単で、リスクは限られています。 そして今、LollipopのすべてのAndroid愛好家は、デバイスでこの素晴らしいプロジェクトのメリットを享受できます。 ダウンロードを入手して改造を始めましょう!

ここからAndroid Lollipop用のXposed Framworkをダウンロードしてください。

また、rovo89は、最新のプロジェクトに関するQ&Aを提供してくれました。 以下のプロジェクトに関するすべての質問に対する回答を見つけることができます。

なぜそんなに時間がかかったのですか? ARTは1年以上前に公開されました!

まず第一に、多くの人々がARTのサポートを求め続けています。 Lollipopには、それよりもはるかに多くの変更があります。たとえば、SELinuxポリシー、64ビットROM、およびメジャーリリースから予想されるアーキテクチャの変更などです。 そしてもちろん、ART自体は常に改善されています。 ART for KitKatとART for Lollipopには大きな違いがあります。

その理由の1つは、研究、開発、およびテストに非常に多くの時間を必要とする大きな複雑さです。

もう1つの理由は、私の生活にはXposed以外のものがあるため、数週間または数か月間でコードを見ることさえほとんどなかったことです。

すべてのモジュールを書き換える必要がありますか?

いいえ、Xposed APIはほとんど変更されていません。 Xposedはすべての詳細を抽象化するので、モジュールはDalvikまたはARTで実行されているかどうかを気にする必要はありません。 多くのモジュール、特にユーザーアプリの動作を変更するモジュールは、変更なしで実際に機能します。 システムの動作をターゲットとするモジュールは、新しいAndroidフレームワークコードに合わせて調整する必要があります。これは、ARTによるものではなく、単に2つのAndroidリリース間で発生するアーキテクチャとコードの変更によるものです。 最も重要なことは、システムサービスのコードが別のファイルに移動されたことです。 影響を受けるほとんどのモジュールでは、これは少しのリファクタリング(コードを別の場所に移動する)で解決できます。

実際に機能していますか?

はい! 少なくとも私にとっては、毎日のデバイス(CM12のNexus 5)およびNexus 9(有料-ありがとう!)で正常に動作しています。 電話は通常どおり安定しており、アプリは正常に動作しています。 そして、明らかに、モジュールとそのフック/リソースの交換もうまく機能しています。そうでなければ、何かをリリースしても意味がありません。

しかし、なぜそれはアルファ版ですか?

前回の安定版リリース以降、リカバリの使用方法を知っている人がテストする必要がある大きな変更があるため、ブートループから脱出し、バグを適切に報告してください。 Xposedが十分な経験のある人によってテストされるまで待つことを強くお勧めします。

JNI(ネイティブ)メソッドのフックや、フック時に実行されているメソッドなど、まだテストされていないエッジケースもあります。

インストールしたいです。 今! 私は何をしなければなりませんか?

上記の私の言葉を読み、携帯電話の内部に精通していることを確認してください。 明らかに、Lollipop ROMを使用して、データの適切なバックアップを作成する必要があります。 今のところ、ARMv7バージョンのみを公開します。 64ビットはより複雑なので、最初に「簡単な」バリアントを試してみましょう。

現時点では、カスタムリカバリでインストールを手動で実行する必要があります。 zipファイルをフラッシュするとインストールされます:

  • app_process32_xposedおよびいくつかのシンボリックリンク
  • libexposed_art.so
  • libart.soおよびいくつかの関連バイナリ+ライブラリ(5.0.2に基づいており、フックなどのサポートが強化されています)
  • XposedBridge.jar(現在は/ system / frameworkに格納されています)

既存のファイルのバックアップは自動的に作成され、後で復元できます。

機能しない/気に入らない! どうすればアンインストールできますか?

最も簡単な方法は、バックアップを復元するか、システムパーティションをフラッシュすることです。 アンインストール用のzipファイルはまだ作成されていません。

デバイス上のARTファイルを置き換えるのはなぜですか? これはDalvikよりも侵襲的であり、重大なパフォーマンスの問題を引き起こし、不安定になります!

GitHubにいくつかの理由を書き留めました。 はい、それはより侵襲的ですので、私は長い間それを回避しようとしましたが、技術的およびサポート指向の観点から、私はそれがより良い選択肢だと思います。

オリジナルのARTよりもパフォーマンスが低い? おそらく、特定の種類のフックを可能にするためにいくつかの最適化を無効にする必要があったためです。 ただし、これはすべてのメソッドのほんの一部にしか影響を与えず、たとえそれらであっても、測定可能な場合であっても、パフォーマンスの低下は確かに重要ではありません。 ARTによって実行される他の最適化はまだ数千あり、可能な限り柔軟性を提供しながら、可能な限り少なくするように試みました。

前述のとおり、安定性は問題ありません。 Dalvikに使用したアプローチ(app_processからランタイムの内部データ構造を変更する)と比較して、ライブラリを完全に置き換える方がはるかに信頼性の高い方法であると確信しています。 変更を既存のコードにきれいに統合し、関連する関数を再利用できましたが、他の方法では多くのハックと仮定が必要になります。

最終的にソースコードを公開しますか?

もちろん、アルファ版のリリース後すぐにGitHubで、今のところ別のブランチで見つけることができます。

これは、古いAndroidバージョンが現在サポートされていないことを意味しますか?

番号! 新しいコードは、Androidのすべての4.xバージョンでコンパイルされ、統合リリースの前にテストする必要があります。 しかし、まず、Lollipopで問題なく動作することを確認する必要があります。 ARTサポートはKitKatにバックポートされる可能性がありますが、それは優先度が低くなります。

どうしてあなたの仕事に感謝できますか?

多くの人々が数ドルを寄付する方法を求めてきたので、私は今寄付ページを設定しました。

機能XまたはYを実行するモジュールを追加するには、どれくらい寄付する必要がありますか?

それは寄付ではなく、将来の仕事を期待して誰かにお金を払っています。 私はフリーランサーの仕事には興味がありません。