AndroidナビゲーションバーのホームキーとしてGIFを使用する方法

  • AndroidAPKを逆コンパイルしてテーマを設定する方法
  • ストックROMでAPKをDeodexする方法
  • 要件:

    • 根ざしたAndroid携帯 (AppualsにはAndroidルートガイドがたくさんあります!)
    • APK逆コンパイルツール( おすすめ APKイージーツール )
    • のような優れたコードエディタ メモ帳++

    SystemUI.apkの逆コンパイル

    最初に行う必要があるのは、SystemUI.apkをdeodexすることです。これには、Tickle MyAndroidなどのツールを使用できます。このプロセスでAPKをデデックスするためのAppualsガイドをお読みください。



    次のステップは、SystemUI.apkを逆コンパイルすることです。これまでに行ったことがない場合は、ガイド自体が必要です。幸い、Appualsには「 AndroidシステムUIを手動でテーマ化する方法 」と逆コンパイルの手順が記載されているため、APKを逆コンパイルしたことがない場合は、ぜひお読みください。

    追加する インクルード SMALIファイル

    次に、新しいsmaliファイルを追加する必要があります。必要な処理を正確に行うために、すでに変更された.smaliファイルのパックがあります。 ここに 。具体的には、.zipから「SelfAnimatingImageView.smali」ファイルを抽出し、ディレクトリ内の逆コンパイルされたAPKに追加する必要があります。



    SystemUI.apk  smali  com  android  Morningstar 

    これらのフォルダが存在しない場合は、作成する必要があります。



    GIFをフレームに分割する

    次に、好きなアニメーション.gifを見つけて、ナビゲーションバーのホームボタンとして使用する必要があります。あなたは使用する必要があります ステッカーgif、 あなたが見つけることができるように Giphy.com/stickers – PNGのように背景が透明であることに気付くでしょうが、実際にはGIFです。



    気に入ったステッカーGIFを保存したら、それを一連のPNGに変換する必要があります。これは、変更したSystemUIが実際にはネイティブの.gifファイルを実行せず、PNGを順番に再生するためです。したがって、.gifをシーケンシャルPNGに分割する必要があります。幸い、次のようなオンラインコンバーターを使用してこれを非常に簡単に行うことができます。 EZGIFスプリット 。

    GIFをEZGIF分割ツールにアップロードし、[分割オプション]ドロップダウンメニューから[PNG形式で画像を出力]を選択するだけで、すべてのフレームが順番に抽出されます。次に、フレームをまとめてZIPファイルにダウンロードできます。



    次に、分割GIFから適切な「」にPNGフレームを追加する必要があります。 ドローアブル-xxxDPI 逆コンパイルされたSystemUIapkフォルダー内の」フォルダー。使用するフォルダはデバイスのDPIによって異なるため、次のようになります。

    • MDPI = 〜160 DPI
    • HDPI = 〜240 DPI
    • XHDPI = 〜320 DPI
    • XXHDPI = 〜480 DPI
    • XXXHDPI = 〜640 DPI

    ここで、Androidにアニメーションに使用する画像と、それらを循環する速度を指示するXMLファイルが必要です。以前にダウンロードしたZIPに戻り、「frame_anim.xml」を取得して、逆コンパイルされたAPK内の「res drawable」フォルダーにコピーします。

    Notepad ++でframe_anim.xmlを開くと、次のようになります。

     

    で始まる各行

    そして最後に、SystemUI.apkを再コンパイルする前に、アニメーションをナビゲーションバーに配置する必要があります。レイアウトXMLファイルを編集するので、これは少し注意が必要です。ほとんどのストックROMでは、HOMEナビゲーションバーソフトキーを制御するコードは「layout Navigation_bar.xml」にありますが、「layout home.xml」にもある場合があります。 ROMによっては、これを探し回る必要があります。

    基本的に、次のようなコードが含まれているレイアウトXMLファイルを探しています。

    android:id = '@ id / home_button' android:layout_width = '0.0dip' android:layout_height = '0.0dip' android:scaleType = 'center' android:contentDescription = '@ string / accessibility_home' systemui:keyCode = '3' />

    を参照する行が表示されると、正しいXMLファイルにいることがわかります。 ホームボタン または類似。私たちがする必要があるのは 隠す このHOMEキーを押して、同じサイズで表示されない新しいキーをその場所に配置すると、アニメーションフレームがその下に配置されます。これは実際には非常に簡単です。必要なのは FrameLayout コード

     

    このコードを調べると、3つの異なるものが互いに積み重なっていることがわかります。ただし、アプリの実行中は表示されません。表示されるのは、ナビゲーションバーのHOMEキーがあるはずのアニメーションGIFだけです。

    したがって、必要なのは、HOMEソフトキーのコード行を上記のFrameLayoutコードに置き換えることだけですが、特定のROMに合わせて微調整する必要がある場合があります。ここでは少し試行錯誤が必要です。

    再コンパイル APKとそれを点滅させる

    これで、変更されたAPKを再コンパイルする準備が整いました。 APK Easy Toolを使用してSystemUI.apkを再コンパイルし、デバイスのリカバリモードでフラッシュするだけです。 Dalvikキャッシュをワイプする必要があるため、リカバリモードでこれを行うことが重要です。そうしないと、追加した新しいsmaliファイルがアクティブ化されません。

    すべてがうまくいけば、アニメーションGIFが新しいナビゲーションバーのホームキーとして表示されます。

    読んだ4分