In theory, the Navigation library supports any architecture you might want to use. Out of the box it can handle Activities and Fragments as navigation destinations, but you can plug in your own solution by implementing your own Navigator (as an example, see this article).
However, quoted / paraphrased from the Google I/O talk on Navigation:
What is my Activity actually meant to do?
Right now, some apps are very Activity-heavy, some are Fragment-heavy, or completely in a different system. We're moving towards a model where the Activity is more just an entry point into your app, rather than it being the owner of the content of your app. It's actually just going to store global state, for example global navigation like a navigation drawer or the bottom bar.
所以谷歌确实建议你的应用程序只有几个活动,因为你只需要它们作为切入点.例如,您可以有一个从启动器打开的,另一个是通过深度链接打开的.在此之后,当您的应用程序启动时,您可以使用片段在其中执行其他所有操作.
To summarize and directly answer your two questions:
导航体系 struct 组件本身并不"旨在消除使用多个活动的需要",但这是Google建议您在使用它时所做的事情.
You can absolutely still use multiple Activities and multiple Fragments mixed together. You can even use a single Activity with purely View based navigation if you like. It's all up to you. If you find the Navigation library useful in combination with how you architect your app, use it.
对于自定义目的地,库的工具可能不是很好(例如,可视化编辑器目前可能只支持活动和片段),但是您可以在代码中随心所欲地使用它.