October 27, 2019

Сравнение 2.7 и 2.8.1 (Общие случаи)

Между 2.7 и 2.8.1 прошло 6 билдов, но изменений там довольно таки много (с точки зрения smali, естественно).

Сначала скажу о том, что не поменялось с последней исследуемой мной сборки:

Ассеты - без изменений (искл чейнджлог)

Нативные библиотеки - без изменений

Ну а теперь к интересному:

Основные изменения

Приложение переведено на AndroidX вместо устаревших support library. Не прошло и полутора лет. Большинство фактических изменений в коде будут связаны именно с этим. Поменялись имена и пути классов, теги у Layout-ов и т.д. Всё это очень усложняет сравнение.

AndroidX? Support library? Что это за набор букв?

Грубо говоря, AndroidX - это библиотека поддержки от Google, с помощью которой можно использовать новые API на старых версиях Android (например материальный дизайн появился только начиная с Android 5.0, но с помощью данной библиотеки можно использовать элементы этого дизайна и на Android 4.x)

В 2018 Google изменила концепцию разработки этих бибилиотек. Был изменен рабочий цикл разработки, а так же изменила имя пакета с android.support.** на androidx.** и com.google.**

В общем понятно. Если есть вопросы - дорога в гугл и оф документацию.

/smali/a/

/smali/b/

/smali/d/

Эти пакеты несут в себе часть классов из AndroidX и прочих библиотек

/smali/c/ - бывшая часть /smali/com/pk/taxoid/libs

/smali/f/ - бывший /smali/c/

Добавлена библиотека Glide (smali/com/bumptech/glide/) для загрузки изображений из сети. Сама по себе ничего интересного не представляет, но генерирует просто туеву хучу мусорного кода. Я подозреваю, что она используется для загрузки изображений при прохождении TO (теперь его можно пройти прямо через приложение, а не через сайт, как раньше)

Обновлена библиотека okHttp, используемая при запросах на сервер

com/pk/taxoid

Туева хуча "классических" изменений имен пакетов

activities/NavigationActivity2.smali

Улучшения работы и точности карт

Туева хуча "классических" изменений имен пакетов. Ппц

Завтра будет продолжение