Что именно делает аннотация @hide Android?
Многие внутренние API в Android помечены@hide
, Какиеименно так это делает?
Другой ответ говорит, что он скрывает только методы из Javadoc, но вы можете использовать отражение для доступа к ним.
Это не имеет никакого смысла - если они скрыты только от Javadoc, вам, конечно, не понадобится рефлексия, чтобы получить к ним доступ. На самом деле я обнаружил, что нет. Я все еще могу позвонить некоторым@hide
методы (может быть, просто статические?), и приложение, насколько я могу судить, компилируется и работает нормально. Я просто получаю сообщение об ошибке:
Обратите внимание, что приведенный выше код по-прежнему компилируется нормально.
Меня не волнует возможность изменения API, поэтому я счастлив использовать закрытый API, но может кто-нибудь объяснить это поведение? Также, если есть какой-либо способ отключить ворс на индивидуальной основе, это было бы полезно.