Robolectric使用导航体系结构组件,资源未发现异常:nav_graph



我在安卓中运行机器人测试时遇到麻烦

    <fragment
        android:id="@+id/nav_host_fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginTop="8dp"
        app:defaultNavHost="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:navGraph="@navigation/nav_graph" />

我正在使用导航架构组件我正在查看通货膨胀异常

下面是我的错误日志

 android.view.InflateException: XML file       C:UsersStudioProjectsappbuildintermediatesmerged-not-compiled-resourcesdebuglayoutactivity_main.xml line #-1 (sorry, not yet implemented): XML file C:UsersStudioProjectsappbuildintermediatesmerged-not-compiled-resourcesdebuglayoutactivity_main.xml line #-1 (sorry, not yet implemented): Error inflating class fragment Caused by: android.view.InflateException: XML file C:UsersjitendrakumarStudioProjectsappbuildintermediatesmerged-not-compiled-resourcesdebuglayoutactivity_main.xml line #-1 (sorry, not yet implemented): Error inflating class fragment
        Caused by: android.content.res.Resources$NotFoundException: packagename:navigation/nav_graph
            at org.robolectric.shadows.ShadowLegacyAssetManager.loadXmlResourceParser(ShadowLegacyAssetManager.java:591)
            at org.robolectric.shadows.ShadowResources.loadXmlResourceParser(ShadowResources.java:205)
            at android.content.res.Resources.loadXmlResourceParser(Resources.java)
            at android.content.res.Resources.getXml(Resources.java:1206)
            at androidx.navigation.NavInflater.inflate(NavInflater.java:67)
            at androidx.navigation.NavController.setGraph(NavController.java:424)
            at androidx.navigation.NavController.setGraph(NavController.java:406)
            at androidx.navigation.fragment.NavHostFragment.onCreate(NavHostFragment.java:226)
            at android.support.v4.app.Fragment.performCreate(Fragment.java:2414)

我已经启用了

android.useAndroidX=true
android.enableJetifier=true

在navigation.xml文件(或自定义res/navigation/*.xml)中观察根元素ID。ID 必须是"@+id/nav_graph"。例:

<navigation xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/nav_graph"
        app:startDestination="@id/homeDestinationFragment">

最新更新