Kilka dni temu przyszła do mnie opaska Xiaomi Mi Band 4 (2019.09.01 12:12 Singapore SAL -> 2019.09.03 już u mnie!) i powoli szykuje się do jakiegoś artykułu na jej temat (+ na temat Mi Band 3, bo jakoś tak się złożyło, że temat uciekł). Ale zanim do niego usiądę, to… Nie, nie będzie ani „unboxingu”, ani „pierwszych wrażeń”, bo tematów mam aż nadto, bez takich zabiegów. Od razu mięso, czyli modyfikacja (spolszczenie) alternatywnych (własnych) tarczy wyświetlacza…

Własny ekran startowy (Watch Face) w Xiaomi Mi Band 4

Nie da się ukryć, że wyświetlacz w Xiaomi Mi Band 4 to całkiem inne doznania niż choćby w wersji 3. Dużo bardziej czytelny w słońcu i oczywiście większy i kolorowy. A skoro kolorowy, to nie mogło zabraknąć możliwości zmiany jego wyglądu. Przynajmniej jeśli chodzi o główny ekran, który można dość swobodnie modyfikować, o czym świadczy choćby wysyp alternatywnych ekranów (Watch Faces).

Standardowy (domyślny) wprawdzie nie jest zły, ale jakiś taki… zbyt tęczowy (bez skojarzeń ;-)). Dostępne w aplikacji Mi Fit ekrany są jeszcze bardziej… hm… kolorowe. Choć to chyba będzie spory eufemizm. Dlatego postanowiłem poszukać wśród alternatywnych źródeł, których na szczęście nie brakuje.

Wytypowałem kilka moim zdaniem najciekawszych, a wśród nich ekran jakby żywcem wyjęty z czołówki serialu Breaking Bad. Nie dość, że serial, który bardzo lubię, to jeszcze utrzymany w „mojej kolorystyce”, czyli zielony, biały, czarny. Jedyny mały minus, to dni tygodnia po angielsku:

Drobiazg, który właściwie mi nie przeszkadzał, ale… uznałem, że to dobry powód, by sprawdzić, jak takie ekrany można modyfikować, czy wręcz tworzyć od zera (choć to nie będzie aż tak rozbudowany poradnik ;-)).

Dekompilacja i kompilacja, czyli modyfikacja

Szybka analiza możliwości, i tak trafiłem na forum Amazfit Watch faces, a konkretnie do wątku poświęconego programowi MiBandWFTool, który wykona za nas sporą część roboty. Przy czym od razu uprzedzam, że nie jest to graficzny edytor, w za pomocą którego „z klocków” składamy zawartość ekranu. Jest to narzędzie, które pozwala skompilować nasz ekran do odpowiedniego formatu (BIN), oraz – co nie mniej istotne – zdekompilować do plików źródłowych, które możemy swobodnie edytować.

Po rozpakowaniu archiwum (MiBandWFTool_1.3.9.zip) mamy 2 katalogi, z których ja wybrałem „RawImageMode” (chyba dlatego, że PNG z przezroczystościami). W tym katalogu znajduje się plik „WatchFace.exe”, który odpowiedzialny jest za kompilację i dekompilację.

Zasada działania jest prosta:

  • By zdekompilować, czyli rozpakować – przeciągamy plik *.bin na plik WatchFace.exe
  • By skompilować, czyli spakować – przeciągamy plik *.json na plik WatchFace.exe

Po rozpakowaniu (zdekompilowaniu) obok pliku „BIN” powstanie katalog, w którym znajdują się wszystkie elementy graficzne, oraz plik „JSON”, który odpowiada za wykorzystanie poszczególnych elementów (ich ułożenie, funkcje itp.).

Z racji tego, że ja chciałem w wybranej tarczy podmienić tylko nazwy dni tygodnia na polskie, to wystarczyło, że… podmieniłem 21 plików PNG (0032-0052), które oryginalnie występowały z angielskimi nazwami.

Trochę tego dużo, bo każdy dzień tygodnia występował 3 razy, ale na obecnym etapie postanowiłem (jeszcze) nie kombinować, i zrobić jak w oryginale.

Dodawanie ekranu (Watch Face) do Mi Fit

Gdy już ekran mamy skompilowany – bez znaczenia, czy tylko modyfikowaliśmy, czy tworzyliśmy od nowa – to trzeba go wgrać do aplikacji Mi Fit, za pomocą której później wgramy go na opaskę.

W wersji Mi Fit 4.0.8 została wprowadzona możliwość „zmiany tapety”, a tym samym zmianie uległ mechanizm związany z wgrywaniem alternatywnych ekranów. W związku z tym opisywana tutaj metoda może nie działać. I choć działają inne, alternatywne, to chyba najlepszym wyjściem jest instalacja „tymczasowo” aplikacji Mi Fit w wersji 4.0.7, np. z APKMirror.

Z tego, co się zorientowałem, to porady w tym zakresie są różne – od skomplikowanych po jeszcze bardziej skomplikowane. A wystarczy katalog ze skompilowanym plikiem BIN + animowanym GIFem (który jest tworzony automatycznie, podczas kompilowania) wgrać do katalogu w pamięci telefonu:

/Android/data/com.xiaomi.hm.health/files/watch_skin_local/

U mnie będzie to we wbudowanej pamięci wewnętrznej, czyli:

/storage/emulated/0/Android/data/com.xiaomi.hm.health/files/watch_skin_local/

Po tej operacji ekran był gotowy do wgrania:

I muszę przyznać, że był to bardzo dobry wybór, bo wręcz z przyjemnością zerkam na ekran główny mojej opaski Mi Band 4.

Czy będzie jakiś poradnik jak tworzyć takie tarcze od zera? Nie wiem, ale… wydaje mi się, że chyba nie. Że chyba nie ma takiej potrzeby, bo wystarczy zerknąć do dowolnego zdekompilowanego ekranu (grafiki + plik JSON), by przekonać się, że w sumie nie ma tu wielkiej filozofii… ;-)

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!

Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)
Revolut: Lepsze niż Twoje obecne konto bankowe