A Google kiadta az Android 14 nyílt forráskódú mobilplatformját. Az új kiadás forráskódja megjelent a projekt Git repositoryjában (android-14.0.0_r1 ág). A Pixel eszközökhöz firmware-frissítések készültek. A firmware-frissítések a Samsung Galaxy, iQOO, Nothing, OnePlus, Oppo, Realme, Sharp, Sony, Tecno, vivo és Xiaomi okostelefonjainak későbbi kiadásaihoz is tervben vannak. Ezenkívül univerzális GSI (Generic System Images) buildek készültek különféle ARM64 és x86_64 architektúrákon alapuló eszközökhöz.
Főbb újítások:
- A platform alapfunkciói közé mostantól tartozik a Health Connect tárolási megoldás, amely korábban külön csomagként volt elérhető a Google Playen keresztül. A Health Connect központosított tárolást biztosít a fitneszkövetőkből és a felhasználó egészségével kapcsolatos egyéb eszközökből származó adatokhoz, és megkönnyíti az egészségügyi adatokhoz való megosztott hozzáférést a különböző alkalmazások között. A Health Connect beállításaihoz mostantól a platform beépített konfigurátorán keresztül lehet hozzáférni; például az adatvédelmi beállításokkal szabályozható, hogy az egyes alkalmazások mely egészségügyi adatokhoz férhetnek hozzá. Továbbá a Health Connect mostantól támogatja az útvonaladatok mentését edzés közben (a felhasználó határozza meg azt az időtartamot, amelyre vonatkozóan az útpontok listája mentésre kerül). Az útvonal megjeleníthető térképen, és ha szükséges, megosztható más alkalmazásokkal feldolgozásra, a felhasználó kifejezett jóváhagyása után.

- Kibővítettük a helymeghatározás-hozzáférés-megerősítő eszközöket. Új szakasz került a helymeghatározás-hozzáférés-megerősítő párbeszédpanelre. Információkat tartalmaz arról, hogy az alkalmazás mikor küld helyadatokat (hozzáférés megtagadva, csak egyszer engedélyezve, és minden alkalommal engedélyezve, amikor az alkalmazás fut), valamint részleteket arról, hogy hol lehet további hozzáférést szerezni az átvitt adatokhoz.

- Bevezettünk egy időszakos (havonta egyszeri) értesítést, amely figyelmezteti Önt az adatok harmadik feleknek történő továbbításának módszereiben bekövetkező változásokra azon alkalmazások esetében, amelyek hozzáférést kaptak az Ön tartózkodási helyéhez (például amikor egy alkalmazás helyadatokat kezd használni hirdetések megjelenítésekor).

- Alkalmazásokkal való munka során egy jobban látható vissza nyíl eszköztipp került bevezetésre, hogy könnyebben érthető legyen a képernyőn megjelenő gesztussal való visszalépés lehetősége.

- A Sharesheet mechanizmus, amelyet az alkalmazáson kívülre vagy egy másik felhasználónak küldött adatok (például képek vagy linkek) küldésére használnak, mostantól lehetővé teszi egyéni műveletek hozzáadását. Például meghatározhat egy egyéni listát a ChooserAction kezelőkről, amelyek megjelenítik azokat az alkalmazásokat és felhasználókat, akiknek adatokat küldhet. Ezenkívül kibővült a közvetlen adatmegosztáshoz használt célok rangsorolásához használt jelek köre.

- Mostantól elérhető a részleges hozzáférési engedélyek megadásának lehetősége csak a kiválasztott fényképekhez és videókhoz (READ_MEDIA_VISUAL_USER_SELECTED; a hozzáférést kapó fájlokat a felhasználó választja ki a Fényképválasztó felületen keresztül, amikor megjelenik az engedélykérő párbeszédpanel). Miután az alkalmazás a háttérbe kerül vagy bezárul, a felhasználó által megadott engedély automatikusan visszavonásra kerül. Az alkalmazás médiafájlok elérésére vonatkozó engedélyeinek párbeszédpaneljén mostantól csak a kiválasztott fényképekhez vagy videókhoz adhat hozzáférést.

- A konfigurátorhoz hozzáadtak egy részt a regionális beállítások, például a hőmérsékleti mértékegységek, a hét első napjának és a számrendszer felülbírálására. Például egy az Egyesült Államokban élő európai beállíthatja, hogy a kijelző Celsius-fokokat használjon Fahrenheit-fok helyett, és hétfőt tekintse a hét kezdetének vasárnap helyett.

- A betűméretezési képességek kibővültek, a maximális betűméretezési szint 130%-ról 200%-ra nőtt. Annak érdekében, hogy a szöveg ne jelenjen meg túl nagynak nagy nagyításnál, mostantól automatikusan nemlineáris méretezési szintváltozást alkalmaz a rendszer (a nagy szöveg nem nagyodik annyira, mint a kis szöveg), amely optimális szövegolvashatóságot biztosít a látássérültek számára a kezelőfelület elrendezésének torzulásának kockázata nélkül.

- Az előző ágban bevezetett nagy dinamikatartományú (HDR) videók rögzítésének támogatása kibővült, és további kamerainformációkat is tartalmaz, lehetővé téve a képek Ultra HDR formátumban történő mentését, amely csatornánként 10 bites színkódolást használ. Az Ultra HDR formátum teljes mértékben kompatibilis a JPEG formátummal, lehetővé téve az alkalmazások számára, hogy módosítás nélkül dolgozzanak a HDR képekkel, és szükség esetén a szabványos fényerősség-tartományban jelenítsék meg azokat. A HDR kimenetet a platform automatikusan biztosítja, ha a HDR-támogatás engedélyezve van az alkalmazásmanifesztben, vagy a Window.setColorMode meghívásával. A Gainmap osztály külön Ultra HDR rendereléshez használható OpenGL vagy Vulkan használatával.

- Korlátozták azokat az alkalmazástípusokat, amelyek teljes képernyős értesítéseket jeleníthetnek meg zárolt képernyő mellett. Ezek az értesítések arra szolgálnak, hogy felhívják a figyelmet az azonnali választ igénylő információkra, például bejövő hívásokra vagy riasztásokra, így az ilyen értesítések megjelenítésére vonatkozó engedélyek mostantól azokra az alkalmazásokra korlátozódnak, amelyek hívásokat kezdeményeznek és riasztásokat jelenítenek meg.
- Továbbfejlesztett animációs vezérlő jelzi az alkalmazás különböző képernyői (lapjai) közötti átmeneteket tartalomcsúsztatáskor. Új komponensek kerültek hozzáadásra az alsó és oldalsó képernyőváltás animálásához, valamint a keresés meghívásához. Hozzáadtunk egy API-t egyéni átmeneti effektusok létrehozásához az alkalmazásban.
- A Kamerabővítmények csomag frissült, hogy támogassa a hosszabb ideig futó, számításigényes képfeldolgozó algoritmusokat, például a gyenge fényviszonyok mellett készített fényképek minőségének javítását. Olyan funkciók kerültek hozzáadásra, amelyek előrejelzik a feldolgozási késéseket, információt nyújtanak a feldolgozás folyamatáról, és gyorsan létrehozzák a fénykép vázlatát, mielőtt a végleges kép elkészülne. Optimalizáltabb és energiatakarékosabb SurfaceView előnézeti mód került bevezetésre. A bővítmények használatakor mostantól elérhető az érintéses fókuszálás és zoomolás támogatása.
- Támogatás lett biztosítva a fényképezőgép beépített funkcióinak használatához az átvitt RAW képek méretezéséhez és vágásához.
- A veszteségmentes hangformátumok mostantól támogatottak az USB-n keresztül csatlakoztatott vezetékes fejhallgatók esetében. Az AudioMixerAttributes osztály hozzáadódott az API-hoz, lehetővé téve a hang közvetlen küldését az eszközre keverés, hangerőszabályozás vagy effektek feldolgozása nélkül.
- A grafikus API megvalósítja a Mesh osztályt, amely lehetővé teszi saját sokszögű hálóváltozatok létrehozását AGSL nyelven írt vertex és fragment shaderekkel.
- Hozzáadva a hardveres gyorsítás lehetősége pufferbe történő renderelés esetén, a HardwareBufferRenderer osztályon keresztül megvalósítva.
- A Path osztály, amely lehetővé teszi összetett geometriai útvonalakon alapuló vektorgrafikák létrehozását, mostantól támogatja a hasonló szerkezetű útvonalak közötti interpolációt, amely morphing effektust hoz létre, valamint a PathIterator használatát az összes útvonalszegmens szekvenciális iterációjához.
- Kibővült az egyes nyelvi beállítások különböző alkalmazásokhoz való csatolásának lehetősége. Mostantól megadhat egy nyelvi listát, amely megjelenik az Android Configuratorban, amikor egy adott alkalmazás nyelvét választja ki.
- A rendszer kibővítette azokat a területeket, amelyeken a fejlesztő által a Play Console űrlapon meghatározott adatvédelemmel kapcsolatos információkat jeleníti meg, például az adatok harmadik felekkel való megosztására vonatkozó szabályzatot. Például ezek az információk mostantól megjelennek az engedélykérés párbeszédpanelén.
- A háttérkezelőket használó alkalmazásoknak mostantól meg kell adniuk a háttérszolgáltatás típusát. Működés közben a rendszer ellenőrzi, hogy a megadott szolgáltatástípus megfelel-e a kért engedélyeknek és a használt API-nak. Például, ha egy alkalmazás FOREGROUND_SERVICE_TYPE_LOCATION háttérszolgáltatás típust ad meg, akkor feltételezzük, hogy kérheti az ACCESS_COARSE_LOCATION vagy az ACCESS_FINE_LOCATION engedélyeket.
- Változtatások történtek a biztonság javítása érdekében: Az alkalmazások már nem küldhetnek szándékkéréseket bizonyos belső platformösszetevőknek. A dinamikusan betöltött kódot mostantól csak olvasható hozzáférés attribútummal kell megjelölni. A ZipFile(String) és a ZipInputStream.getNextEntry() függvények már nem dolgozhatják fel azokat a zip archívumokat, amelyek elérési útja "/" karakterrel kezdődik, vagy ".." sorozatot tartalmaz. A feladatok mostantól elindíthatók háttérkezelőkből, és frissültek az SDK-ban nem biztosított API-k meghívására vonatkozó korlátozások.
- Amikor USB-n keresztül csatlakoztatsz egy eszközt egy asztali számítógéphez, a korábban elérhető interakciós módok, például fájlátvitel, töltés, internetmegosztás stb. mellett mostantól webkameraként is használhatod az okostelefont (UVC mód, USB Video Class). Ez a funkció alapértelmezés szerint le van tiltva, de root hozzáféréssel engedélyezhető.
- Továbbra is fejlesztettük a platform teljesítményét táblagépeken és összecsukható képernyőjű eszközökön. Olyan könyvtárakat biztosítottunk, amelyek előrejelzik a mutatóval kapcsolatos eseményeket, és alacsony késleltetést biztosítanak a stylusok használatakor. Emellett felhasználói felület sablonokat is készítettünk nagyméretű képernyőkhöz, figyelembe véve olyan alkalmazásokat, mint a közösségi média, a kommunikáció, a multimédiás tartalmak, az olvasás és a vásárlás.
- Külön engedélyt adtak hozzá, amely lehetővé teszi az alkalmazások számára, hogy műveleteket indítsanak, miközben az alkalmazás a háttérben fut. A háttérben történő aktiválás korlátozott, hogy elkerülje a felhasználó zavarását az aktuális alkalmazás használata közben. Az előtérben futó alkalmazások mostantól jobban szabályozhatják, hogy más alkalmazások, amelyekkel interakcióba lépnek, aktiválhatnak-e műveleteket.
- A memóriakezelő rendszert optimalizálták, hogy hatékonyabban ossza ki az erőforrásokat a háttérben futó alkalmazásokhoz. Néhány másodperccel azután, hogy egy alkalmazás gyorsítótárazott állapotba kerül, a háttérmunka az alkalmazás életciklusát kezelő API-kra korlátozódik, mint például a Foreground Services API, a JobScheduler és a WorkManager.
- A FLAG_ONGOING_EVENT jelzővel jelölt értesítések mostantól elvethetők, ha feloldott képernyőjű eszközön jelennek meg. Ha az eszköz zárolási képernyő módban van, az ilyen értesítések továbbra sem vethetők el. A rendszer működéséhez elengedhetetlen értesítések szintén nem vethetők el.
- Új metódusok kerültek a PackageInstaller API-ba: a requestUserPreapproval() metódus lehetővé teszi az alkalmazáskatalógus számára, hogy elhalassza az APK-csomagok letöltését, amíg a felhasználó jóvá nem hagyja a telepítést; a setRequestUpdateOwnership() metódus lehetővé teszi a telepítő számára a jövőbeli alkalmazásfrissítési műveletek kezelését; és a setDontKillApp() metódus lehetővé teszi a telepítő számára, hogy további alkalmazásfunkciókat telepítsen az alkalmazás futása közben. Az InstallConstraints API mostantól lehetővé teszi a telepítők számára, hogy alkalmazásfrissítéseket telepítsenek, miközben az alkalmazás nincs használatban.
- Folytatódott a platform teljesítményének javítása táblagépeken és összecsukható képernyős eszközökön. Frissítették a nagyméretű képernyős eszközökhöz készült alkalmazások fejlesztésére vonatkozó irányelveket, és szabványos felületmintákat adtak hozzá a nagyméretű képernyőkhöz, figyelembe véve olyan alkalmazásokat, mint a közösségi média, a kommunikáció, a multimédiás tartalmak, az olvasás és a vásárlás. Megjelent a Cross Device SDK előzetes kiadása, amely eszközöket biztosít a különböző eszköztípusokkal (okostelefonok, táblagépek, okostévék stb.) és formátumokkal megfelelően működő alkalmazások fejlesztéséhez.
- Optimalizálták az erőforrás-igényes háttérfeladatok, például a nagy fájlok letöltésének koordinációját Wi-Fi-kapcsolat esetén. Változások történtek a Foreground Service és a JobScheduler API-kban, új funkciókat adva hozzá a felhasználó által kezdeményezett adatátviteli feladatokhoz. Követelményeket vezettek be az elindítandó prioritási szolgáltatások típusának megadására vonatkozóan (kamera, adatszinkronizálás, médialejátszás, helymeghatározás, mikrofon-hozzáférés stb.). Az adatletöltés aktiválási feltételeinek meghatározása egyszerűsödött, például azáltal, hogy a letöltéseket csak Wi-Fi-hozzáférésre korlátozták.
- A belső, alkalmazásoknak küldött üzenetszórási üzeneteket továbbító rendszer optimalizálva lett az energiafogyasztás csökkentése és a válaszidő javítása érdekében. Az alkalmazások regisztrált üzenetfolyamok fogadása is javult: az üzenetek sorba állíthatók, kombinálhatók (például egy sor BATTERY_CHANGED üzenet egyetlen üzenetté lesz összesítve), és csak azután kézbesíthetők, hogy az alkalmazás kilépett a gyorsítótárazott állapotból.
- A gyorsítótárazott alkalmazások maximális számának korlátja megemelkedett, csökkentve a „hidegen” induló alkalmazások számát (azaz a memóriában nem gyorsítótárazottak és lassabban indulnak). A 8 GB RAM-mal rendelkező eszközök esetében a hideg alkalmazásindítások száma 20%-kal, a 12 GB RAM-mal rendelkező eszközök esetében pedig 30%-kal csökkent a korlátváltozás után.
- A pontos riasztások alkalmazásokban való használatához mostantól a SCHEDULE_EXACT_ALARM engedély szükséges, mivel ez a funkció negatívan befolyásolhatja az akkumulátor élettartamát és megnövekedett erőforrás-fogyasztáshoz vezethet (ütemezett feladatok esetén ajánlott a hozzávetőleges időalapú aktiválást használni). A naptár és óra megvalósításával rendelkező, pontos időalapú aktiválást használó alkalmazásoknak a telepítés során meg kell adni a USE_EXACT_ALARM engedélyt. A Google Play alkalmazáskatalógusába USE_EXACT_ALARM engedéllyel történő közzététel csak olyan alkalmazások számára engedélyezett, amelyek riasztásokat, időzítőket és eseményértesítésekkel rendelkező naptárakat valósítanak meg.
- Bevezették az egyes alkalmazásokhoz tartozó nyelvi beállítások megadásának lehetőségét. Az alkalmazásfejlesztők mostantól módosíthatják a localeConfig beállításokat a LocaleManager.setOverrideLocaleConfig meghívásával, amely meghatározza az alkalmazáshoz az Android beállítások felületén megjelenített nyelvek listáját.
- Hozzáadtuk a Grammatical Inflection API-t, hogy könnyebben hozzáadhassuk a nemet figyelembe vevő felhasználói felület elemek fordításait.
- Annak megakadályozása érdekében, hogy a rosszindulatú alkalmazások elfogják a szándékkéréseket, az új verzió tiltja a szándékok küldését anélkül, hogy explicit módon megadnának egy csomagot vagy belső komponenst.
- Továbbfejlesztett biztonság a dinamikus kódbetöltéshez (DCL) – a dinamikusan betöltött végrehajtható fájlokba történő rosszindulatú kód beillesztésének megakadályozása érdekében ezeknek a fájloknak mostantól csak olvasási hozzáférési jogosultsággal kell rendelkezniük.
- A 23-nál régebbi deklarált SDK-verzióval rendelkező alkalmazások telepítése tilos. Ez megakadályozza, hogy a hozzáférési korlátozásokat régebbi API-kra hagyatkozva megkerüljék. (A 22-es API-verzió azért tiltott, mert a 23-as verzió (Android 6.0) egy új hozzáférés-vezérlési modellt vezetett be, amely lehetővé teszi a rendszererőforrásokhoz való menet közbeni hozzáférést.) A korábban telepített, régebbi API-kat használó alkalmazások az Android frissítése után is működni fognak.
- Bevezetésre került a Credential Manager API, amely lehetővé teszi az alkalmazásokba való bejelentkezést külső hitelesítési szolgáltatóktól származó adatok használatával. Támogatás került a Passkeys technológiára, amely lehetővé teszi a felhasználók számára a jelszó nélküli hitelesítést biometrikus azonosítók, például ujjlenyomatok vagy arcfelismerés használatával. Továbbfejlesztették a fiókválasztó felületet.
- Az Android Runtime (ART) mostantól támogatja az OpenJDK 17-et. A platform alapvető Java könyvtárai és alkalmazásfejlesztő eszközei frissültek, hogy támogassák az OpenJDK 17-et. Támogatás került az OpenJDK 17-ben elérhető nyelvi funkciókhoz és Java osztályokhoz, mint például a rekordosztályok, a többsoros karakterláncok és a mintaillesztés az instanceof operátorban.
- Az Android Runtime fejlettebb tömörítési módszereket használ, amelyek átlagosan 9.3%-kal csökkentették a fájlméretet a teljesítmény befolyásolása nélkül.
- A hitelesítésszolgáltatók (CA) tanúsítványainak frissítésének módja megváltozott. A rendszertanúsítványok többé nem lesznek a firmware-hez kötve, hanem különálló csomagként, a Google Playen keresztül frissítve lesznek kézbesítve. Ez a megközelítés leegyszerűsíti az aktuális tanúsítványok karbantartását és a feltört CA-k tanúsítványainak eltávolítását, megakadályozza, hogy az eszközgyártók manipulálják a gyökértanúsítványok listáját, és a frissítési folyamatot függetlenné teszi a firmware-frissítésektől. Másrészt az új kézbesítési módszer megakadályozza, hogy a felhasználók módosítsák a rendszertanúsítványokat, még akkor sem, ha root hozzáféréssel és teljes hozzáféréssel rendelkeznek a firmware felett.
Forrás: opennet.ru









