Я хочу получить байт-код Dalvik для стандартных библиотек Java, я имею в виду библиотеки Java, которые используются Android (например, коллекции java.util.*).
Мне нужно получить эти файлы классов, потому что я хочу их проанализировать, не все из них, а что-то вроде java.util.*
, java.lang.*
и т. д.
Однако при компиляции любых приложений для Android не будут генерироваться файлы классов этих стандартных библиотек, за исключением кода приложения и библиотек зависимостей.
Итак, мне интересно, как получить скомпилированные файлы классов (и соответствующие файлы dex при компиляции в Dalvik VM)?
Я попытался вытащить стандартные библиотеки Java в проект Android, например, получить весь исходный код Java и добавить их в качестве кода приложения, ИЛИ поместить classes.jar
(rt.jar
) в папку libs, однако эти два способа не работают, потому что источник код или файл jar в проекте будут конфликтовать со средой компиляции по умолчанию и выдавать страшную ошибку Conversion to Dalvik format failed with error 1
Любая идея, как получить то, что я хочу?