我正在尝试将嵌套图添加到我的导航XML文件中。主图位于app模块中,而嵌套图位于从属库模块中。我要添加带有<include>
标签的子图。当我这样做时,我的构建因清单合并错误而失败。我在应用的清单中将主图引用为<nav-graph>
标签以支持深度链接。我确实在项目中进行搜索,但在include标签中找不到对子图的任何引用。
清单合并失败:引用的导航文件带有navigationXmlId =找不到browser_nav_subgraph
这里是一些代码:
主图:
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_graph" app:startDestination="@id/login">
<include app:graph="@navigation/browse_nav_subgraph" />
//other fragments
</navigation>
浏览导航子图:
<?xml version="1.0" encoding="utf-8"?>
<navigation
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:startDestination="@id/browseFragment"
android:id="@+id/browse_subgraph">
<fragment android:id="@+id/browseFragment" android:name="..."
android:label="BrowseFragment"/>
</navigation>
应用的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application>
<activity>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<nav-graph android:value="@navigation/nav_graph"/>
</activity>
</application>
</manifest>
浏览模块的清单:
<manifest package="..."/>
问题是如何消除错误并成功添加子图。
https://issuetracker.google.com/issues/140856013此修复程序将在3.7 Canary 2和3.6 Beta 2中进行]