Android
 Computer >> コンピューター >  >> トラブルシューティング >> Android

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

Androidコミュニティの優秀な人材の中には、アニメーション化された.gifをホームキーとして使用するようにナビゲーションバーを変更する方法を考え出した人もいます。Appualsにはそれを行うためのガイドがあります。

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

警告:これはかなり複雑なプロセスです。 SystemUI.apkを逆コンパイルし、いくつかの重要なファイルをいじって、一緒に再コンパイルする必要があります。何か問題が発生した場合に備えて、SystemUI.apkのバックアップを作成してください!

関連するAppualsガイド:

  • AndroidシステムUIを手動でテーマ化する方法
  • AndroidAPKを逆コンパイルしてテーマを設定する方法
  • ストックROMでAPKをデデックスする方法

要件:

  • ルート化されたAndroidフォン(AppualsにはAndroidルートガイドがたくさんあります!)
  • APK逆コンパイルツール(推奨 APK Easy Tool)
  • Notepad++のような優れたコードエディタ

SystemUI.apkの逆コンパイル

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

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

theを追加する 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に分割する必要があります。幸い、EZGIFSplitなどのオンラインコンバーターを使用すると、これを非常に簡単に行うことができます。

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

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

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

次に、分割GIFから適切な「 drawable-xxxDPI」にPNGフレームを追加する必要があります。 逆コンパイルされた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を開くと、次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="false"
  xmlns:android="https://schemas.android.com/apk/res/android">
    <item android:duration="100" android:drawable="@drawable/frame_0" />
    <item android:duration="100" android:drawable="@drawable/frame_1" />
    <item android:duration="100" android:drawable="@drawable/frame_2" />
    <item android:duration="100" android:drawable="@drawable/frame_3" />
</animation-list>

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

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

<com.android.systemui.statusbar.policy.KeyButtonView android:layout_gravity="center"
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" />

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

<FrameLayout android:layout_width="@dimen/navigation_key_width" android:layout_height="fill_parent">
    <com.android.systemui.statusbar.policy.KeyButtonView android:layout_gravity="center" android:layout_width="@dimen/navigation_key_width" android:layout_height="fill_parent" android:src="@drawable/transparent" android:scaleType="center" android:contentDescription="@string/accessibility_home" systemui:keyCode="3" />
    <com.android.systemui.statusbar.policy.KeyButtonView android:layout_gravity="center" 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" />
    <com.android.systemui.morningstar.SelfAnimatingImageView android:layout_gravity="center" android:id="@+id/frame_animation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/frame_anim" />
</FrameLayout>

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

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

再コンパイル APKとフラッシュ

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

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


  1. Android を PC のコントローラとして使用する方法

    ゲームは常に中毒性があります。特に大画面でプレイしている場合はなおさらです。場合によっては、ゲームからの期待を十分に満たすために、ゲームには適切なコントローラーが必要です。ただし、品質によっては、これらのコントローラーに腕と脚がかかる場合があります。しかし、Android を PC のコントローラーとして使用するのはどうでしょうか。まあ、思ったほど複雑ではありません。 Google Play ストアには、Android をゲーム コンソールとして変換できるアプリケーションが多数あります。ただし、このガイドではモバイル ゲームパッドに言及し、Android を PC のコントローラーとして使用す

  2. Windows 7 キーを使用して Windows 10 にアップグレードする方法

    Windows 7 は Microsoft の最も成功した OS の 1 つであり、後に Windows 8 にアップグレードされたにもかかわらず、非常に長い間使用されてきました。消費者と企業クライアントの両方が Windows 7 をフラグシップ OS として歓迎しており、Microsoft が終了を決定した後もその使用は継続されていました。ただし、Windows 7 から Windows 10 に遅滞なくアップグレードする時期が来ており、それを行う理由はたくさんあります。 現在、Windows 7 は継続的なサービスの最後の数か月にあります。 Microsoft は 2014 年に W