Nem teljesen erre gondoltam, de ha nem felejtem el, holnap kifejtem.
szerk.:
Évekkel ezelőtt Androidoztam utoljára, szóval nem biztos, hogy mindenben 100%-ig korrekt leszek, de.
A mainstream android fejlesztés során szerintem két helyen jöhetnek be kompatibilistási dolgok. Amikor te alkalmazást fejlesztesz Androidban, a mafinest fájlban leírod, hogy mi:
- a minSdkVersion
- a targetSdkVersion
https://developer.android.com/guide/topics/manifest/uses-sdk-element.ht…
Néha változtatnak a default működésen, s ha te azt írod a manifestben, hogy (tegyükfel) a 169-es SDK version a target, akkor az Android alapértelmezettnek veszi, hogy tisztában vagy, hogy milyen változások voltak a 168-169 váltáskor: s az új kódod futhat régi platformon, bizonyos megkötésekkel.
Ha a targetSdkVersion 168, akkor az újabb Androidokon is minden ugyanúgy megy, ahogy eddig. A platform garantálja, hogy az évekkel ezelőtt írt kódod fut, s működik jól (friss androidon is)- de ha a targetSdk-t húzod feljebb, akkor elvárja, hogy az új verzió által behozott change-ket lekövesd.
A másik, ami itt lehetséges, az a play services. Amennyire én emlékszem, a Play Services-re semmilyen garanciát nem vállal a Google, hogy hosszútávon tartja a kompatibilitását. Ebben vannak olyanok, amik bizonyos szinten alap rendszer dolgok, de a Google szeretné Andriud verziótól függetlenül frissíteni - pl. a WebView, vagy okosabb helymeghatározás, etc.
Szerintem doksiban azzal kezdik, hogy ellenőrizned kell a PlayServices verziót, ha használod, s felkészülni rá, hogy nem lesz neked megfelelő.
tldr: Ha kompatibilitási dologba futottál bele, akkor azért aktívan felelős vagy. A backward compatibilityt eléggé komolyan veszi a Google is, életem első publikált Android projektje ( https://play.google.com/store/apps/details?id=com.vilmos.nagy.crapmap ) hibátlanul elindult 8.0n tegnap este - pedig évek óta nincs hozzányúlva, s emlékeim szerint a térkép meg a helymeghatározás Play Servicesből jön.
Mivel jogosultságra gyanakszol, s az változott a 6.0-ban, én megnéznék egy targetSdkVersion-t első körben. Ha az 6.0 felett van (API Level 23, https://source.android.com/source/build-numbers#platform-code-names-ver… ), akkor én erre kezdenék vizsgálódni.
--
blogom