2016-06-08 3 views
0

Я сейчас работаю с OSMDroid, и я хочу изменить два java-файла, которые были загружены градиентом, а затем помещены в раздел External libraries. Два java-файла: MapTileFileArchiveProv.java и ZipFileArchive.java. Они расположены в одном из пакетов в файле classes.jar. Я на 90% уверен, что они скомпилированы и не могут быть изменены, просто открыв их в редакторе, отредактируйте их и сохраните.Можно ли изменить файлы java-кода внешних библиотек, загружаемых gradle в android studio?

Какие у меня варианты?

+0

Я хотел бы предложить другой подход - наследовать эти классы. –

+0

просто используйте декомпилятор вроде этого http://jd.benow.ca/ – Lino

+0

Я бы сделал это, но поля не защищены. Они частные. – roostaamir

ответ

1

Поскольку OSMDroid находится на GitHub, вы можете его разветвлять, изменять любые файлы и сами создавать. Вы могли бы иметь Gradle ссылаться на него непосредственно, как проект или поставить выходной баночку (ы) в «Libs» реж вашего проекта, а затем добавьте следующую как зависимость:

compile fileTree(dir: 'libs', include: ['*.jar']) 

Недостатком этого является вы необходимо поддерживать свою вилку, периодически добавляя в будущие ревизии, если вы хотите быть в курсе мастер-репо.