我将Android Studio版本更新为3.5,并将gradle更新为3.5.0,而未将gradle包装器从5.1.1更新为5.4.1-引发的问题是产生了Android Manifest标签(<nav-graph>
)元素在这里是不允许的。
这是我的清单结构:
<application>
<activity
android:name=".AuthenticationActivity"
android:theme="@style/AppTheme.Auth"
android:windowSoftInputMode="stateHidden|adjustPan">
<intent-filter>
<action android:name="com.company.product.module.AuthenticationActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<nav-graph android:value="@navigation/navigation_activity_authentication" />
</activity>
我正在使用基于模块的项目,以帮助解决问题。
这是错误:
AAPT: error: unexpected element <nav-graph> found in <manifest><application><activity>.
答案 0 :(得分:0)
我也在使用nav-graph,而清单文件中没有提到它。而且我还没有在文档的清单文件中看到它。
您刚刚通过以下方式添加到片段中:
app:navGraph="@navigation/navigation_courses"
我希望这会有所帮助!
答案 1 :(得分:0)
“此修复程序将在3.7 Canary 2和3.6 Beta 2中进行” https://issuetracker.google.com/issues/140856013
答案 2 :(得分:0)
我在Android Studio 3.5.3上也遇到了这个问题。问题是:我有多模块项目,而我的应用程序模块和包含nav主机的主要活动的模块不相同。使用nav-graph
标签将主要活动移动到应用程序模块(运行器模块)解决了我的问题。例如:
模块A(电话和桌子模块)->主模块
模块B(Android库)->包含带有nav-graph的主要活动 我将活动移至模块A并完成。