что является не SDK-интерфейсом

После поиска новых функций Android P я столкнулся с ограничениями, не связанными с SDK. и мой вопрос в том,

Что такое интерфейс без SDK или интерфейс SDK? В чем разница между ними? особенно, что делает не SDK когда-то лучше. Примеры популярных SDK и не SDK-интерфейсов для Android.

PS Я натолкнулся на абстрактные ответы, различающие интерфейсы SDK и API, но он не отвечал моим вопросам:/

Ответы

Ответ 1

Цитирование документации:

Вообще говоря, интерфейсы SDK - это те, которые описаны в индексе пакета Android Framework.

Не все в структуре представлено в документации. Классы, методы, поля и те, которые отмечены знаком @hide в исходном коде, доступны во время выполнения, но не являются частью SDK и не отображаются в документации. К этим предметам можно обращаться только по нетрадиционным средствам, таким как отражение.

Это то, что Android P начинает запрещать.

В течение многих лет я советовал разработчикам не получать доступ к таким вещам, потому что они ненадежны. На любом Android-устройстве может не быть скрытого материала из-за изменений, основанных на версии Android или производителя устройства/модификации модема. Теперь Google собирается усилить этот совет более твердо, по крайней мере в некоторых случаях.

специально, что делает не SDK когда-то лучше

Они не "лучше". Однако они могут предлагать доступ к некоторым функциям, которые недоступны в SDK по той или иной причине (например, API еще не установлен).