LoginSignup
7
2

More than 5 years have passed since last update.

Android のホーム画面で「カレンダー」と「時計」アプリのアイコンが動的に変化していたので軽く調べてみた件

Posted at

iPhone のホーム画面

Apple 製の「カレンダー」と「時計」アプリのアイコンは現在の日時を表しています。

:bamboo: :tanabata_tree:
IMG_0181.PNG IMG_0180.PNG

Android のホーム画面

ホームアプリを Pixel Launcher にすると Google 謹製の「カレンダー」と「時計」アプリのアイコンが時間経過に伴い変化するようになります。

:jack_o_lantern: :christmas_tree:
Screenshot_1537907734.png Screenshot_1537907568.png

リバースエンジニアリングで APK の中身を覗き見る :mag:

  • 難読されていたので解析はハードモード
  • GitHub に丸々アップロードされている Pixel Launcher を decompile したとされるソースコードには、Google 謹製 :calendar: アプリのパッケージ com.google.android.calendar:alarm_clock: アプリのパッケージ com.google.android.deskclock の文字列が含まれていました
    • :calendar::alarm_clock: パッケージの場合にアイコンの Drawable を生成する専用の処理が見受けられました

:alarm_clock: アプリの中

  • Android Studio[Build] > [Analyze APK...] を試みる
    • 秒針・分針・時針の PNG リソースが格納されていました
    • AndroidManifest.xml 内に Pixel Launcher のパッケージ名 com.google.android.apps.nexuslauncher を値に含む meta-data タグが存在していました
      • ゴリゴリに癒着しています

結論

  • ホームアプリまで作成すればアイコンを変化させることができそうです
    • You can (not) dynamically change the Android app icons.

参考

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2