- Umožňuje vám měnit hluboké systémové parametry, jako je hustota pixelů nebo specifické hardwarové funkce.
- Vyžaduje oprávnění superuživatele a pečlivé zacházení s kontexty SELinuxu, aby se předešlo bezpečnostním chybám.
- Je nezbytné předem provést zálohy a před provedením změn zajistit úplné vypnutí zařízení.
Jsem si jistý, že vás to už někdy zajímalo. změnit vnitřní aspekty vašeho zařízení, které se nezobrazují v běžné nabídce nastavení. Soubor buildprop je v podstatě mozkem konfigurace systému Android, kde jsou uloženy vlastnosti, které definují vše od modelu zařízení až po chování rozhraní.
Dotknutí se tohoto souboru je jako vstup do omezené oblasti systému; pokud něco pokazíte, může to způsobit pád telefonu nebo zaseknutí v restartu. Proto než se do toho pustíte... upravit řádky kóduJe nezbytné, abyste rozuměli tomu, co děláte, a abyste měli správné nástroje, abyste z telefonu nedělali těžítko na papír.
Praktické metody pro úpravu systému
Pokud se chcete pustit do práce, existuje několik způsobů. Mnoho uživatelů dává přednost používání průzkumníků souborů s root přístupem, ale poměrně spolehlivou technikou je extrahujte soubor do počítače a snadno jej upravovat pomocí programu Notepad++, který umožňuje lepší správu zalomení řádků. Důležitý detail, který někdy přehlížíme, je, že ve verzích jako Lollipop normální restart ne vždy obnoví změny softwaru. V ideálním případě Úplně vypněte mobilní telefon, a dokonce i vyjmout baterii, pokud je vyjímatelná, aby systém při spuštění musel od začátku číst buildprop.
Někdy si toho můžete všimnout, i když máte Magisk a Android 10 Změny se neukládají I přes pokusy s Root Explorerem nebo terminály se to obvykle stává kvůli omezením zápisu na moderních oddílech Androidu, které vyžadují pokročilejší správu oprávnění.
Přizpůsobení hustoty obrazovky
Jedním z nejužitečnějších triků je úprava hustoty pixelů (DPI), což je záchrana, pokud máte zrakové postižení nebo chcete, aby ikony a text vypadaly větší, aniž by se měnilo písmo. Abyste toho dosáhli, musíte v souboru najít řádek ro.sf.lcd_densityPokud je původní hodnota 240 a chcete, aby vše bylo větší, můžete ji zvýšit na 260 nebo 270. Pokud chcete na obrazovku umístit více obsahu, snižte hodnotu na 210 nebo 230. Nicméně, vždy zaznamenejte původní hodnoty takže se můžete vrátit, pokud s výsledkem nebudete spokojeni.
Technická architektura a definice vlastností (AOSP)
Z pohledu vývoje AOSP není přidání vlastnosti jen otázkou napsání řádku. Nejprve je nutné definovat název za daným formátem. hadí_případ a zvolíme vhodný prefix. Máme vlastnosti ro (pouze pro čtení)které jsou stanoveny pouze jednou a přetrvávajíTato nastavení si zachovají svou hodnotu i po restartu. Abyste předešli konfliktům, je důležité vyhnout se používání obecných termínů jako „systém“ nebo „konfigurace“, a místo toho je seskupovat podle subsystémů, jako je zvuk, Bluetooth nebo telefonie.
Systém používá specifické datové typy, aby se zabránilo chybám. Můžeme použít booleovské hodnoty (true/false)64bitová celá čísla, čísla s plovoucí desetinnou čárkou nebo jednoduché textové řetězce UTF-8. Aby systém tyto proměnné rozpoznal, musí být přiřazeny k Kontext SELinuxuTím je zajištěno, že tyto informace mohou číst nebo zapisovat pouze autorizované procesy.
Správa přístupnosti a zabezpečení pomocí SELinuxu
Ne každý proces může ovlivnit každou vlastnost. Existují makra pro přístupnost které definují rozsah: některé jsou interní pro systém (system_internal_prop), jiné jsou omezené a některé jsou veřejné. Pro implementaci musíte pracovat v adresáři systém/sepolicy, definování kontextů v souborech jako property.te a udělování oprávnění pomocí maker set_prop a get_prop.
Aby se zabránilo bezpečnostním mezerám, používají se následující opatření: pravidla nikdy nedovoltekteré explicitně zakazují určitým doménám přístup k citlivým vlastnostem. Konečné přiřazení se provádí v souboru property_contexts, kde je skutečná vlastnost propojena s jejím bezpečnostním kontextem a lze definovat, zda je shoda přesný nebo předponou.
Stabilita a nasazení v době kompilace
Při navrhování modulárního systému (jako u projektu Treble) je klíčová stabilita. Pokud je vlastnost používána různými oddíly (například systémem a dodavatelem), musí být deklarováno jako stabilní APIPro nastavení těchto hodnot během kompilace se používají proměnné makefile, jako například VLASTNOSTI_SYSTÉMU_PRODUKTŮZde můžete použít přímé přiřazení nebo volitelné (se znaménkem ?), které platí pouze v případě, že neexistuje předchozí definice.
Za běhu můžeme s těmito proměnnými interagovat pomocí příkazů shellu. Příkaz získatprop Používá se k načtení aktuální hodnoty, zatímco setprop Umožňuje úpravy za chodu. Pro vývojáře v C++, Javě nebo Rustu existují automaticky generovaná API, která umožňují správu těchto vlastností. silné psaní, čímž se zabrání chybám při převodu dat.
Vlastnosti specifické pro dodavatele
Výrobci vytvářející hardware na zakázku musí používat specializované prefixy, aby se vyhnuli konfliktům se základní platformou Google. Všechny tyto vlastnosti musí začínat na dodavatel nebo odběratel. a jejich bezpečnostní kontexty musí vždy začínat prefixem vendor_. Platí zlaté pravidlo, že systémové oddíly nezávisí od dodavatele za účelem zachování kompatibility a usnadnění aktualizací operačního systému.
Zvládnutí úprav buildprop a struktury vlastností Androidu umožňuje vše od jednoduchých kosmetických úprav až po hloubkovou optimalizaci jádra a zabezpečení zařízení, pokud jsou respektovány hierarchie SELinuxu a udržovány aktuální zálohy, aby se zabránilo zděšení zařízení. Sdílejte průvodce, aby se o tématu mohli dozvědět i ostatní uživatelé..