【问题标题】:No AndroidManifest.xml found - Xamarin未找到 AndroidManifest.xml - Xamarin
【发布时间】:2017-10-01 06:18:50
【问题描述】:

这是我最近几天一直面临的非常有趣的场景。我有一个使用 MvvmCross 和少数 3rd 方库(如 RestSharp)的 Xamarin 项目。 几天前,当我得到项目代码并打开它时,我发现项目属性文件夹有超过 1 个清单文件是异常的。当我尝试运行项目时,Visual Studio 没有拾取 android 清单文件。 我在网上搜索了这方面的信息,但几乎没有得到任何线索。

  • 每个应用程序的根目录中都必须有一个 AndroidManifest.xml 文件(正是该文件的名称)。

我正在发布我的文件结构图像以供参考。我已经检查了我的 .csproj 文件,它具有以下代码

 <AndroidManifest>Properties\TurboViewerarmAndroidManifest.xml</AndroidManifest>
<ItemGroup>
<Content Include="Properties\TurboViewerarmAndroidManifest.xml">
  <SubType>Designer</SubType>
</Content>

就我而言,如果我将清单文件名更改为 AndroidManifest.xml 项目运行正常,但是当我尝试将其他清单文件的名称更改为 AndroidManifest.xml 时会出现问题,因为我们不能在单个文件中拥有多个同名文件文件夹。但是对于这个项目,所有清单文件都将在同一个文件夹中,但如果不将其名称更改为 AndroidManifest.xml,项目将无法运行。就像死锁一样。

由于我是 Visual Studio 和 xamarin 的新手,所以我可能会遗漏一些可能会让一切变得清晰的观点。

【问题讨论】:

  • Luke 指出并且您知道,每个项目应该只有一个清单。如果您对其他项目有依赖关系,它们也应该有一个清单,并且在构建时执行一个称为清单合并的过程,该过程将基于规则集合并元素。 developer.android.com/studio/build/manifest-merge.html 在原生安卓中这个过程也是一样的。
  • 我会寻找以前可能已经设置的构建脚本,因为这些不同的清单看起来特定于 cpu 架构。也许他们交换了每个架构的清单或为每个 ABI 创建了一个应用程序。

标签: c# android visual-studio xamarin mvvmcross


【解决方案1】:

每个应用程序的根目录中都必须有一个 AndroidManifest.xml 文件(正是该文件的名称)。

这是您的问题 - 您的 Android 清单文件名为 TurboViewerarmAndroidManifest.xml。将其重命名为AndroidManifest.xml

【讨论】:

  • 感谢您的回答,但您还没有阅读我的完整问题。就我而言,如果我将清单文件名更改为 AndroidManifest.xml 项目运行正常,但是当我尝试将其他清单文件的名称更改为 AndroidManifest.xml 时会出现问题,因为我们不能在单个文件中拥有多个同名文件文件夹。但是对于这个项目,所有清单文件都将在同一个文件夹中,但如果不将其名称更改为 AndroidManifest.xml,项目将无法运行
  • 我确实读过它,但我一定是误解了。为什么需要多个 Android 清单?我认为这是不可能的。
  • 因为该项目是基于其他项目,每个项目都有自己的清单文件。
  • 其他项目(假设是Android应用)需要在自己的目录下有自己的AndroidManifest.xml文件,而不是在TurboViewerarm的目录下。
  • 我得到了这个项目。它有很多我不熟悉的部分,我无法更改它们,因为它会影响其他人。但是这个项目在以前的开发者的笔记本电脑上运行。它应该在我的系统上运行。你一定是错过了什么
【解决方案2】:

只是想为一个白标应用做同样的事情。 Visual Studio 会忽略 AndroidManifest 设置,因此您无法重命名文件(目前)。这是一个已知问题:https://bugzilla.xamarin.com/show_bug.cgi?id=31306

即使是预构建过程也不起作用,因为它总是会抛出清单文件丢失的错误(但它就在那里)。

我目前的解决方案:在手动构建项目之前重命名清单。

【讨论】:

    【解决方案3】:

    重新启动我的 Visual Studio 会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 2015-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      相关资源
      最近更新 更多