About breaking compatibility with devices when compiling with Android API >= 21

@zhangxm mentioned in this topic that using API 21 and above breaks compatiblity with very many older devices. Can we elaborate on this? What devices does it break compatibility with? Can we have a list or a table about this?

I have been using API 20 for a long time, but if Play Store prefers Apps with fresher APIs, I might generate multiple APKs (one with 20 and one with 24/25 armeabi-v+) and deploy them accordingly depending on the host device’s API version.

If someone didn’t know, for example, making an app with API 23+ that is reliant on a certain networking library (all Cocos2d games) work on API 22 phones, the file org.apache.http.legacy.jar needs to be copied from sdk/platforms/optional/ to your project directory’s cocos2d/cocos/platform/android/java/libs folder.

@slackmoehrle Can you please ask around and mention it in the documentation somewhere regarding which API versions are recommended/supported with Cocos2dx as of now, with 3.15.1 and the upcoming 3.16? Can this answer be helpful (https://stackoverflow.com/questions/27016790/what-will-happen-if-i-run-a-apk-with-high-api-compiled-in-a-low-api-device)?

As a side question if someone knew:
What are really the advantages of using Nougat 7.0–7.1.2 (API 24–25) over KitKat 4.4-4.4.4 (API 19-20)? Can it interfere with application raitings, listings?