Google is trying to crack down harder on unofficial and non-public APIs since Android P, and this pressure is expected to increase further with Android Q. The hammer has fallen: if your Android Q target application, the stack will be much larger non-APIs SDK that he can not understand. And if Google sticks to its previous schedule, it means that you will have to reduce the use of this non-public API in the coming fall.

The developers are aware of this change for a little over a year now, as Google is trying to encourage them to migrate out of these private APIs. If that means developers need to request new APIs, so be it. But if you use an API that is grayed out here, you to have to find another way to meet your needs or solve problems when Google stops allowing it on the Play Store. (Note: There is also a smaller white list of non-SDK "OK" APIs.)

Google has written detailed documentation on how to test your application for interfaces other than the SDK. The StrictMode detectNonSdkApiUsage () method can warn you if you use a way you would not have anticipated, such as reflection or JNI.

Regardless of the mechanism used, if you use private or undocumented Android APIs that are not included in the SDK, the time presses to cut them off from your application.