- Android utahuje šrouby v tom, co uživatelům dovolí
- Blokuje například přístup k některým oprávněním nebo instalaci starších verzí aplikací
- Shizuku umožňuje přistupovat k systémovým API bez potřeby ADB a počítače poblíž
Nejsem vývojář, ale jak z již vydaných článků asi víte, rád se ve svém telefonu vrtám, i když už bez rootu. Proto s nesouhlasem pozoruji, jak dříve bez problémů fungující aplikace nyní klopýtají přes klacky naházené bezpečnostní politikou pod nohy. Naštěstí se s tím vývojáři perou se ctí a patří mezi ně i Rikka s aplikací Shizuku.
Díky ní můžete na telefonu provozovat i věci, ke kterým byste se za jiných okolností nedostali bez počítače, kabelu a instalace ADB. I programátoři totiž věří, že lenost je matka pokroku, a nechtějí se nechat omezovat aktuální představou Androidu o účinném zabezpečení.
Bezpečnost, nebo paranoia?
Váš mobil toho o vás ví možná víc než počítač. Android proto posiluje zabezpečení a snaží se být blbuvzdorným. Někdy ale svou bezpečnostní strategii vynucuje tak drasticky, že s vaničkou vylévá i dítě.
Náš modelový příklad budeme ilustrovat na aplikaci Shortcutter, která umožňuje do notifikační lišty i jinam přidávat rychlé funkce, jako je třeba přepínání módu geolokace nebo skrývání navigační a stavové lišty. Tyto dvě položky jsem nezvolil náhodou. U nastavení polohy totiž Google nechává na výběr jen stavy vypnuto a zapnuto, původní možnost zjištění souřadnic jen na základě zařízení bez přispění mobilního internetu zmizela.
U skrývání lišt většinou systém přejde třeba u her do celoobrazovkového režimu automaticky, ale v některých případech tak neučiní a zbytečně vás tak okrádá o prostor. Zároveň vám ale Android brání si něco takového na svém telefonu nastavit.
Pokud ovšem nezměníte práva aplikace, k čemuž ale potřebujete buď připojit telefon přes ADB k počítači, nebo použít právě Shizuku.
Co Shizuku umí?
Tentokrát není třeba si nic komplikovat a stahovat instalační soubory z externích zdrojů, Shizuku si můžete stáhnout jednoduše z Google Play, kde má velmi dobré hodnocení – 4,7 hvězdiček.
S trochou snahy vám pak může Shizuku suplovat ADB, hlavní výhoda ale je, že s tímto nástrojem počítá mnoho užitečných aplikací (jejich seznam najdete na GitHubu), takže i integrace obou aplikací je triviální a nevyžaduje žádné pokročilé znalosti a kouzlení s příkazovým řádkem. Jen na ochutnávku:
- Hex+ Installer pro úpravu grafiky na telefonech Samsung,
- AppLock jako ochrana před předčasným zabíjením aplikací v MIUI,
- Island pro klonování aplikací,
- Batt pro sledování stavu baterie na Androidu 14 a novějším,
- FV File Manager pro vstup do složek, kam vás běžný souborový manažer nepustí.
My si ale vyzkoušíme zprovoznění aplikace Shortcutter, která na seznamu uvedená není. K odemknutí některých funkcí potřebuje povolení k WRITE_SECURE_SETTINGS, ukážeme si tedy, jak ho ručně nastavit.
Jak spustit Shizuku?
Celý popis je krok po kroku popsaný v samotné aplikaci, nezmiňuje snad jen dvě věci, na které byste si měli dát pozor. Za prvé, pokud vás aplikace požádá o povolení k zobrazení notifikací, umožněte jí to. Za druhé, aplikace si oprávnění načítají při spuštění, takže pokud jste zvyklí přeskakovat mezi běžícími aplikacemi, může se stát, že vám třeba Shortcutter bude zuby nehty připomínat, že správná oprávnění nedostal, až do chvíle, než ho ukončíte a spustíte znovu. A to platí pro všechny appky, které se o Shizuku opírají.
Pokud nemáte v telefonu root a nechcete se babrat s instalací ADB na počítač, jediná správná cesta povede přes možnost Spustit pomocí WiFi debuging. Postupujte podle těchto kroků:
- Otevřete si v Nastavení menu věnované softwaru telefonu, např. u Samsungu pojmenované Informace o softwaru a klepejte na položku Číslo sestavení, dokud vás telefon nepožádá o zadání PINu. Tímto krokem si odemknete menu Vývojářské možnosti.
- Spusťte Shizuku a klepněte na tlačítko Párování. Všimněte si, že vám automaticky vyskočila notifikace Hledání párovací služby, nemažte ji, bude potřeba. Na nově se objevivší obrazovce klikněte na Developer options, jiný prvek ani aktivní nespatříte.
- Objevíte se v menu Vývojářské možnosti, hledejte v něm položku Bezdrátové ladění. Nejprve ji aktivujte posuvníkem, pak ji otevřete a hledejte řádek Párovat zařízení pomocí párovacího kódu.
- Jakmile na párování pomocí kódu kliknete, v notifikacích se připomene notifikace, do které opište velké šestimístné číslo a potvrďte. Bohužel toto číslo se mění při každém načtení, což je celkem otravné, pokud se někde během procesu ztratíte a musíte ho zadávat opakovaně.
- Vraťte se zpět do Shizuku a klikněte na Spustit. Vyskočí na vás příkazový řádek, který se sám po několika sekundách zavře. Není potřeba s ním cokoli dělat. Po jeho zavření si ale všimněte, že aplikace hlásí, že Shizuku běží.
- Zamiřte do menu Autorizováno N aplikací. Zde najdete seznam nainstalovaných aplikací, které Shizuku podporují. My budeme potřebovat ShizuShell, který je rovněž snadno ke stažení z Google Play. Jedná se o terminál, tedy příkazový řádek, jak ho znáte třeba z Windows. Můžete použít i jiný, např. Termux je velmi oblíbený, ale ShizuShell nevyžaduje na rozdíl od Termuxu žádné další kroky.
- Nyní může aplikace ShizuShell přistupovat k systémovým API a nastavovat tak oprávnění aplikací. V našem případě chceme WRITE_SECURE_SETTINGS umožnit aplikaci Shortcutter.
- Do příkazového řádku napište tento text: pm grant com.leedroid.shortcutter android.permission.WRITE_SECURE_SETTINGS a potvrďte. Ono „pm grant“ na začátku se bude opakovat vždy, proměnnou bude název aplikace, pro kterou chcete toto oprávnění přidat, a název oprávnění.
- Od teď můžete v Shortcutteru používat funkce, ke kterým byste jinak potřebovali root či udělení oprávnění přes ADB po kabelu.
Postup v obrázcích s popisem najdete v galerii:
Jak zjistit název aplikace? Můžete zkusit rovnou souborový manažer X-Plore, který obsahuje i správce aplikací. Alternativ je samozřejmě mnohem víc, hledejte heslo „app manager“ na Google Play. Nebo se podívejte na URL v prohlížeči ve webovém rozhraní obchodu.
Závěr
Proč právě Shizuku? Proč to všechno? Jako první se nabízí odpověď „protože to jde“, ale podstatné je, že některé aplikace vyžadují přidělení práv po každém restartu zařízení. Právě zmíněný Hex installer je toho skvělým příkladem.
Naklikáte si nějaké téma, barevně vyladěné, na modelových příkladech přehledné, ale pak na vás už v běžném provozu vyskočí okno, na kterém nepřečtete text. Proč? Protože jste si vybrali, že dva jiné prvky budou mít stejný odstín a nečekali jste, že se barvy použijí i za jiných okolností. Ale protože jste mezitím mobil restartovali, nemůžete Hex použít a barvy opravit. Potkat použitelnou Wi-Fi v okolí je pak snazší úkol než hledat, kdo vás nechá stáhnout si ADB do počítače a řešit případnou instalaci ovladačů. Existuje sice i elegantní metoda prostřednictvím aplikace Bugjaeger, ale o ní zase jindy.