
Сейчас пишу перехватчик для okhttpclient , который нужно будет встроить в готовое приложение, в его dalvik код. Перехватчик в виде скомпилированного класса (.smali файлы), который отправляет URL,HEADERS,BODY всех(или выборочно) GET и POST запросов через телеграм бота в нужный чатик. Ну короче.. пихаю в одно приложение, вызываю его - все окей. Пихаю в другое - приложение не пересобирается. Вылетает ошибка при сборке. Целый день мучаюсь. Думал, что проблема в коде, какой-то конфликт имен. Уже все классы в один класс запихнул, минимизировал использование ООП. Все равно ошибка. И, оказывается, есть один нюанс!
Компилятор при сборке приложения распихивает классы по .dex файлам (classes.dex, classes1.dex). Распихивает тогда, когда количество методов в приложении и библиотеках превышает 65536. Соответственно, когда методов больше - генерятся еще dex файлы. Если в заполненный до ушей dex файл (декомпилированный в smali папку) подкинуть еще классов, то можно получить по шапке. Чего со мной и произошло.