Skip to content

Instantly share code, notes, and snippets.

@SeolHa314
Created June 29, 2019 08:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SeolHa314/a8707ef195932576f8042dd8aedb39bc to your computer and use it in GitHub Desktop.
Save SeolHa314/a8707ef195932576f8042dd8aedb39bc to your computer and use it in GitHub Desktop.

미 밴드의 테마는 다운받을 경우 \sdcard\Android\data\com.xiaomi.hm.health\files\watch_skin_local\ 에 저장되며, 무작위로 BASE64 인코딩된 폴더로 이루어져 있다.

폴더는

├───긴_16진수_폴더이름과는_다름.png
├───폴더이름과는_같은_bin_파일.bin
└───infos.xml

로 이루어져 있다.

AmazfitBipTools_Mi4를 이용하여 bin 파일을 분해하면,

├───0000~nnnn.png
├───bin_파일_이름.json
├───bin_파일_이름.log
├───bin_파일_이름_animated.png (용도불명)
├───bin_파일_이름_static.png (용도불명)
└───infos.xml

이런 디텍터리 구조가 나온다.

0000~nnnn.png는 실제로 밴드에 표시되는 에셋이고, 나머지는 설정 파일.

bin_파일_이름.json에 관하여

에셋의 배치 구조를 표현하는 파일이다.

X, Y는 좌표를 표현하고(왼쪽 위가 X = 0 Y = 0이다), ImageIndex는 이미지의 인덱스이다(1인 경우 파일상에서는 0001.png이다). ImagesCount는 이미지의 수를 표현한다. 주로 숫자나 요일을 표시할 때 사용된다.

날짜에서 Weekday의 경우, ImagesCount는 21이지만, 처음 14개는 중국어 요일 표현이다. 마지막 7개는 순서대로 월화수목금토일이다.

DayAmPm의 경우, 중국어와 영어로 나뉘어져 있다.

png 파일은 32비트도 가능한 것 같다.

편집이 끝나면 json 파일을 WatchFace.exe로 열면 _packed.bin 파일이 나오는데 이를 원래대로 되돌린 후 폰에 다시 넣어 Mi fit 앱으로 연동하면 끝.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment