Как получить доступ к: классу приложения из библиотеки? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть случай, когда мне нужен доступ к классам проекта: app из проекта библиотеки. (не res, java классы) Я искал, и ответ состоял в том, чтобы реализовать: app в библиотеке Gradle-файла следующим образом:

implementation project(':app')

, а затем после Gradling я получил следующие ошибки:

ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve project :app.
ERROR: Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve project :app.
ERROR: Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve project :app.

затем я снова искал, и я подумал, что это может быть циркуляр, реализующий два проекта друг с другом, затем я добавляю третью библиотеку android, которая будет соединителем: app и: myLib, даже если ошибки было то же самое. Реализация двух android библиотек с каждой не была такой проблемой даже для циклического типа, но с основным каталогом приложения ... так что, какая помощь? и снова я должен сделать это таким образом, и нет другого способа, например, использовать абстрактные классы или ... мой случай особенный, потому что это не обычное приложение, и оно будет android frameWork, а не просто приложением. Спасибо.

1 Ответ

0 голосов
/ 24 апреля 2020

Возможно, вы правы, и это может быть случай Circular Dependency. Но иметь Android application как Dependency для android library не имеет смысла.

Гораздо лучшее решение будет extract те файлы, которые вы хотите использовать из app в отдельный new module, пометьте этот новый модуль как android-library и внедрите это new module в пространство, где вы хотите получить доступ к этим новым изолированным классам.

...