2015-04-20 4 views
0

У меня есть два проекта, которые используют библиотеку каллиграфии для пользовательских шрифтов в Android. Я добавил зависимость/модуль каллиграфии к проекту точно так же, как в обоих проектах, за исключением того, что один проект может видеть пространство имен, а другое не может.Использование AAR в Android Studio

import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; находит его в одном проекте, а не в другом. .

оба из них я создал «нового модуля» и выбран существующий AAR в базы его. Затем добавляется через gui зависимость, которая делает так же, как вручную, бросая: compile project(':calligraphy-2.0.2') в файл build.gradle основного проекта и , ':calligraphy-2.0.2' в файл settings.gradle.

  • import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; работает в первом, терпит неудачу во втором ...
  • import uk.co.chrisjenx.calligraphy.R; однако, работает в второй .. но не позволяет мне использовать CalligraphyContextWrapper ..

ответ

1

Вышеупомянутый метод работает. Ошибка появляется в IDE (Android Studio) .. она говорит, что не может найти импортированную библиотеку, но придет время компиляции и выполнения, она работает так, как ожидалось. Что за!?

enter image description here

Почему это, кто-нибудь знает? Это явно не может найти библиотеку до времени сборки, тогда она находит ее в порядке.

+0

Разница проста: зависимость видна градиенту - вот почему она компилируется отлично - но не для Android Studios на лету синтаксиса шашка. Android Studios на ходу проверки синтаксиса думает, что библиотека не существует, когда на самом деле град может найти библиотеку просто отлично. Ожидайте исправить это в будущих выпусках. В большинстве случаев такие ошибки запускаются, когда вы возитесь с экспериментальными функциями или пытаетесь сделать что-то, что находится на грани того, что поддерживает Android Studio (например, скомпилирование проектов Java 8 - это работает, но проверка синтаксиса может быть временно безумной) –

+0

Ответ полезен –

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