Итак, у меня есть эта структура для моих модулей в моем текущем приложении.
Я еще не нашел официальной документации по многомодульной навигации, но нашел это статья об этом, так что вот как выглядят мои файлы gradle:
Функция 1 - Подробности
...
implementation project(":base")
implementation project(":feature-2-detail")
...
Функция 2 - Подробности
...
implementation project(":base")
implementation project(":feature-1-detail")
...
Функция 3 - Подробности
...
implementation project(":base")
implementation project(":feature-1-detail")
...
А вот и мои навигационные графики:
Функция 1 - Подробности
<navigation ...
android:id="@+id/graph_feature_1_id">
<include app:graph="@navigation/graph_feature_2" />
<fragment ...
android:id="@+id/nav_feature_1">
<action ...
app:destination="@+id/graph_feature_2_id" />
</fragment>
</navigation>
Функция 2 - Подробности
<navigation ...
android:id="@+id/graph_feature_2_id">
<include app:graph="@navigation/graph_feature_1" />
<fragment ...
android:id="@+id/nav_feature_2">
<action ...
app:destination="@+id/graph_feature_1_id" />
</fragment>
</navigation>
Функция 3 - Подробности
<navigation ...
android:id="@+id/graph_feature_3_id">
<include app:graph="@navigation/graph_feature_1" />
<fragment ...
android:id="@+id/nav_feature_3">
<action ...
app:destination="@+id/graph_feature_1_id" />
</fragment>
</navigation>
Таким образом, все работает с такой настройкой, но проблема здесь в том, что для подключения модуля к другому модулю мы должны добавить другую функцию в качестве зависимости от текущей функции. Как и в моем случае, Feature 1 - Detail может перейти к Feature 2 - Detail и наоборот, и это дает мне циклическую зависимость в gradle.
Есть ли другой способ сделать многомодульную навигацию? Я пробовал использовать глубокие ссылки, но безуспешно.
Любая помощь будет оценена по достоинству! Спасибо!