Я использую TagSoup в одном из своих проектов и внесли некоторые изменения в HTMLSchema.java, чтобы справиться с вложенными тегами списка. Когда я протестировал эти изменения, они не имели никакого эффекта. Я тестировал те же изменения в автономном приложении Java, и они работали по назначению.Android использует неправильные классы
Когда я пытался отладить приложение, я заметил, что он не отображает правильный номер строки в отладчике, поэтому я делал то, что вы обычно делаете в таких случаях: перестройка проекта, перезапуск среды IDE, перезапуск Android-устройство и ПК, создавая новый Android-проект, все безрезультатно.
Я удалил весь код из некоторых классов, и приложение все еще запускалось, как и раньше, поэтому ядро Android использовало разные классы, чем те, которые я развернул с моим приложением. Я сделал тестовый проект Android пустым всего, кроме обычного MainActivity, макета и чертежей, добавил классы TagSoup и код для разбора с помощью TagSoup, и он по-прежнему не использовал «мои» классы TagSoup. Я протестировал это с помощью двух 4.4.2 устройств Nexus и в Note 2, идущем 4.1.2.
Только когда я переименовал имя пакета из org.ccil.cowan.tagsoup в другое место (например, org.ccil.cowan.tagsoup2), он использовал классы, развернутые с моим приложением.
Мой вопрос прост: что происходит?
Это был мой вывод, но я хотел подтвердить его, и вы только что это сделали. Спасибо ;-). Итак, вы говорите, что если я использую исходные файлы (а не файл jar), я должен перефазировать их, как переименование пакета? –
Ещё один вопрос. Есть ли документация, по которой классы отправляются вместе с каркасом и загружаются автоматически? –
@EmanuelMoecklin: «Есть ли документация, по которой классы поставляются с каркасом и загружаются автоматически?» - Теперь, не так ли, чтобы это было хорошо? Увы, нет. Вы можете посмотреть источники AOSP и посмотреть, какие библиотеки сторонних производителей находятся в их коллекции репозиториев, но я бы не назвал эту «документацию». – CommonsWare