Для тех, кто провел какое-то время в исходном коде Android, не новость, что идентификаторы, сгенерированные в классе android.R
, не отражают 1:1 фактические ресурсы, найденные в каталогах res/
предоставленного JAR. Многие из рисунков/стилей/макетов не являются «общедоступными» и доступны для приложений по ссылке android.R.xxx
.
Мой вопрос: кто-нибудь знает механизм, с помощью которого Android
может генерировать класс R.java, который отличается от фактического графа ресурсов? Во-вторых, это механизм (с использованием правил сборки и т. д.), который мы, как разработчики, могли бы использовать для частичной защиты идентификаторов, которые становятся общедоступными в приложениях, используемых в качестве библиотек?
Заранее спасибо!