Почему Timber выдает мне ошибку NoClassDefFoundError при попытке использовать флажок состояния 3? - PullRequest
0 голосов
/ 28 февраля 2020

Я следовал инструкциям по установке на android арсенал и смог построить решение:

В основном build.gradle:

repositories {
    maven { url "https://jitpack.io" }
}

и в app build.gradle:

dependencies {
    ...
    implementation 'com.github.sephiroth74:Tri-State-Checkbox:v1.0.0@aar'
    ...
}

Но когда я пытаюсь запустить приложение, я получаю эту ошибку:

2020-02-27 14: 49: 01.800 14357-14357 / com.software.test E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.software.test, PID: 14357 java .lang.NoClassDefFoundError: Ошибка разрешения: Ltimber / log / Timber; at it.sephiroth. android .library.checkbox3state.CheckBox3. (CheckBox3. java: 19) в java .lang.reflect.Constructor.newInstance0 (собственный метод) в java .lang.reflect.Constructor .newInstance (Constructor. java: 343) в android .view.LayoutInflater.createView (LayoutInflater. java: 852) в android .view.LayoutInflater.createViewFromTag (LayoutInflater. java: 1004) в android .view.LayoutInflater.createViewFromTag (LayoutInflater. java: 959) в android .view.LayoutInflater.rInflate (LayoutInflater. java: 1121) в android .view.LayoutInflater.rInflateChterren. java: 1082) в android .view.LayoutInflater.inflate (LayoutInflater. java: 680) в android .view.LayoutInflater.inflate (LayoutInflater. java: 532) в android .view .LayoutInflater.inflate (LayoutInflater. java: 479) в androidx.appcompat.app.AppCompatDelegateImpl.setContentView (AppCompatDelegateImpl. java: 469) в androidx.

Я также пытался следуйте инструкциям по установке в его github хранилище, но я могу даже не получить решение, чтобы построить, если следовать этим. Так что пока я покинул этот маршрут.

1 Ответ

1 голос
/ 28 февраля 2020

Удалите @aar из вашего объявления зависимостей. Этот суффикс означает, что вы не хотите, чтобы переходные зависимости автоматически добавлялись в качестве зависимостей в ваш проект, в данном случае Timber. Вот почему вы должны были вручную добавить Timber отдельно, чтобы заставить его работать.

IMO, библиотека publi c не должна включать зависимость библиотеки журналирования! Проблема должна быть открыта на странице проекта Github.

Похоже, что в библиотеке на Github есть открытая проблема для того, чтобы просто вообще не отображать флажок, так что если это не исправлено, вы может захотеть найти альтернативное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...