2016-02-01 8 views
0

В моем проекте Android я использую barcodescanner.Как включить измененную стороннюю библиотеку в Android?

Мне нужно настроить размер прямоугольника рамки, отображаемого при настройке qr-кода, и я заметил, что единственный способ достичь этого - изменить класс в библиотеке.

Теперь мне интересно, как лучше всего включить изменения, внесенные мной в библиотеку?

Было бы замечательно, если бы я мог просто включить класс с оригинальной упаковкой в ​​моих источниках, как я делал в некоторых проектах Java, однако в Android я получаю ошибку:

com.android.dex.DexException: Multiple dex files define Lme/dm7/barcodescanner/core/ViewFinderView; 

, потому что он находит 2 класса с одной и той же сигнатурой (1 в библиотеке и 1 в моем исходном коде).

Есть ли способ избежать этого конфликта? Или есть ли лучшие способы включить стороннюю библиотеку с изменениями?

+2

Быстрый ответ, не выполняя всю работу, чтобы объяснить все, что я должен: Вилка репо, внести изменения и подтолкнуть их к своей вилке, а затем направить градир на вилку. –

+0

Я думаю, мне нужно включить встроенный forked libs (= aar files) в мой проект, если я не опубликую артефакты в каком-то репозитории. Верный? – Giordano

+1

Разве вы не можете просто расширить классы и переопределить их поведение? –

ответ

1

Git клонировать проект библиотеки на свой компьютер, сделать все необходимые изменения, а затем добавить его в ваш проект как модуль библиотеки:

New module -> import gradle project 

Отмечать модуль зависимость для модуля приложения:

Open module settings -> dependencies -> add module dependency 

Удалить старую зависимость от build.gradle избежать

multiple dex files define ...

ошибки.

 Смежные вопросы

  • Нет связанных вопросов^_^