"Could not find mandroid!" VS 社区 xamarin

"Could not find mandroid!" VS Community xamarin

我刚刚下载了包含 Xamarin 4.0.3214 的 VS 社区,当我创建一个空的 android 项目然后尝试构建它时,我收到以下错误和警告:

Could not find mandroid!
The referenced component 'System.Core' could not be found.
The referenced component 'System.Xml.Linq' could not be found.

和其他类似错误。

我尝试删除 xamarin 并重新安装它,但没有成功。

更新:

当我按照建议检查日志时,我发现了一些错误:

MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0141] [I:sdk]:                  Looking for Android SDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0161] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0161] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path does not contain adb.exe in \platform-tools (C:\android-sdk-windows).
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0171] [I:sdk]:                    Key HKCU\SOFTWARE\Xamarin\MonoAndroid\PrivateAndroidSdkPath not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0191] [I:sdk]:                    Key HKCU\SOFTWARE\Android SDK Tools\Path not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0201] [I:sdk]:                    Key HKLM\SOFTWARE\Android SDK Tools\Path found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0211] [I:sdk]:                  Looking for Android NDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0231] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory found:
    Path contains ndk-stack.exe in \. (C:\Users\lenovo\Documents\Android\ndk\android-ndk-r10d).
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0251] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0251] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\JavaSdkDirectory found:
    Path contains jarsigner.exe in \bin (C:\Program Files (x86)\Java\jdk1.7.0_71).
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0261] [I:Unknown]:              Found Android SDK. API levels: (none)
MonoDroidLog Information: 0 : [2016-05-03 01:09:28.0271] [I:Unknown]:              Did not find Xamarin.Android
MonoDroidLog Information: 0 : [2016-05-03 01:09:31.0123] [I:]:                     Tracking android devices started
MonoDroidLog Information: 0 : [2016-05-03 01:09:31.0423] [D:]:                     Tracking avd started
MonoDroidLog Information: 0 : [2016-05-03 01:09:31.0433] [D:]:                     avd watcher *.ini path: 'C:\Users\lenovo\.android\avd'
MonoDroidLog Information: 0 : [2016-05-03 01:09:31.0443] [D:]:                     avd watcher android path: 'C:\Users\lenovo\AppData\Local\Android\ANDROI~1\tools\android.bat'
MonoDroidLog Information: 0 : [2016-05-03 01:09:31.0553] [D:]:                     TrackDeviceTask got: 
MonoDroidLog Information: 0 : [2016-05-03 01:09:31.0583] [I:]:                     Got new device list from adb with 0 devices
MonoDroidLog Information: 0 : [2016-05-03 01:09:32.9514] [D:]:                     avd watcher: got device list from avd with 2 devices
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0717] [I:sdk]:                  Looking for Android SDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0727] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0737] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path does not contain adb.exe in \platform-tools (C:\android-sdk-windows).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0737] [I:sdk]:                    Key HKCU\SOFTWARE\Xamarin\MonoAndroid\PrivateAndroidSdkPath not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0747] [I:sdk]:                    Key HKCU\SOFTWARE\Android SDK Tools\Path not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0757] [I:sdk]:                    Key HKLM\SOFTWARE\Android SDK Tools\Path found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0767] [I:sdk]:                  Looking for Android NDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0767] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory found:
    Path contains ndk-stack.exe in \. (C:\Users\lenovo\Documents\Android\ndk\android-ndk-r10d).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0777] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0787] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\JavaSdkDirectory found:
    Path contains jarsigner.exe in \bin (C:\Program Files (x86)\Java\jdk1.7.0_71).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0787] [I:Unknown]:              Found Android SDK. API levels: (none)
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0797] [I:Unknown]:              Did not find Xamarin.Android
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0827] [I:sdk]:                  Looking for Android SDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0827] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0837] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path does not contain adb.exe in \platform-tools (C:\android-sdk-windows).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0847] [I:sdk]:                    Key HKCU\SOFTWARE\Xamarin\MonoAndroid\PrivateAndroidSdkPath not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0847] [I:sdk]:                    Key HKCU\SOFTWARE\Android SDK Tools\Path not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0857] [I:sdk]:                    Key HKLM\SOFTWARE\Android SDK Tools\Path found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0867] [I:sdk]:                  Looking for Android NDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0877] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory found:
    Path contains ndk-stack.exe in \. (C:\Users\lenovo\Documents\Android\ndk\android-ndk-r10d).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0877] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0887] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\JavaSdkDirectory found:
    Path contains jarsigner.exe in \bin (C:\Program Files (x86)\Java\jdk1.7.0_71).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0897] [I:Unknown]:              Found Android SDK. API levels: (none)
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0897] [I:Unknown]:              Did not find Xamarin.Android
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0927] [I:sdk]:                  Looking for Android SDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0937] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0937] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path does not contain adb.exe in \platform-tools (C:\android-sdk-windows).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0947] [I:sdk]:                    Key HKCU\SOFTWARE\Xamarin\MonoAndroid\PrivateAndroidSdkPath not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0957] [I:sdk]:                    Key HKCU\SOFTWARE\Android SDK Tools\Path not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0957] [I:sdk]:                    Key HKLM\SOFTWARE\Android SDK Tools\Path found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0967] [I:sdk]:                  Looking for Android NDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0977] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory found:
    Path contains ndk-stack.exe in \. (C:\Users\lenovo\Documents\Android\ndk\android-ndk-r10d).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0987] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.0997] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\JavaSdkDirectory found:
    Path contains jarsigner.exe in \bin (C:\Program Files (x86)\Java\jdk1.7.0_71).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1077] [I:Unknown]:              Found Android SDK. API levels: (none)
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1087] [I:Unknown]:              Did not find Xamarin.Android
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1107] [I:sdk]:                  Looking for Android SDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1117] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1117] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path does not contain adb.exe in \platform-tools (C:\android-sdk-windows).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1127] [I:sdk]:                    Key HKCU\SOFTWARE\Xamarin\MonoAndroid\PrivateAndroidSdkPath not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1137] [I:sdk]:                    Key HKCU\SOFTWARE\Android SDK Tools\Path not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1147] [I:sdk]:                    Key HKLM\SOFTWARE\Android SDK Tools\Path found:
    Path contains adb.exe in \platform-tools (C:\Users\lenovo\AppData\Local\Android\android-sdk).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1157] [I:sdk]:                  Looking for Android NDK..
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1157] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory found:
    Path contains ndk-stack.exe in \. (C:\Users\lenovo\Documents\Android\ndk\android-ndk-r10d).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1167] [I:sdk]:                    Key HKLM\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory not found.
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1167] [I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\JavaSdkDirectory found:
    Path contains jarsigner.exe in \bin (C:\Program Files (x86)\Java\jdk1.7.0_71).
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1177] [I:Unknown]:              Found Android SDK. API levels: (none)
MonoDroidLog Information: 0 : [2016-05-03 01:09:39.1187] [I:Unknown]:              Did not find Xamarin.Android

Could not find mandroid!

  1. 请检查您的系统中是否存在以下所有文件:

    • %ProgramFiles(x86)%\MSBuild\Xamarin\Android\Mono.Android.DebugRuntime-debug.apk
    • %ProgramFiles(x86)%\MSBuild\Xamarin\Android\Ionic.Zip.dll
    • %ProgramFiles(x86)%\MSBuild\Xamarin\Android\mandroid.exe
    • %ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll
  2. 如果其中任何文件丢失,您可以尝试完全卸载并重新安装:

    • 从 "Programs and Features" 控制面板卸载 "Xamarin" 软件包。
    • 手动删除以下 2 个文件夹(如果其中一个仍然存在):

      • %ProgramFiles(x86)%\MSBuild\Xamarin\Android
      • %ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework\MonoAndroid
    • 重新安装 Xamarin。
  3. 如果在完全卸载、重新安装和重新启动后,第 1 步中的任何文件仍然丢失,最好检查任何您的病毒防护软件 运行 看看它是否可以隔离丢失的文件。

  4. 作为另一种可能的解决方法,您可以尝试从 Xamarin.VisualStudio .msi 文件中手动提取丢失的文件。特别是,您可以使用 msiexec 命令和 TARGETDIR 属性 将 .msi 提取到临时文件夹(请参阅 ), and then copy the files from that temporary folder to their proper install locations. If you don't have a copy of the .msi, you can download it from your account page as illustrated under "Download Links" on https://kb.xamarin.com/customer/portal/articles/1699777.

The referenced component 'System.Core' could not be found.
The referenced component 'System.Xml.Linq' could not be found.

这些消息有时会显示为与 "Could not find mandroid!" error/warning 无关的单独警告。出现这些消息的最常见原因之一是找不到 Android SDK 或 Java SDK。为了帮助排除这种可能性,请确保在 Tools > Options > Xamarin > Android Settings.

下两条路径都显示有绿色复选标记

尝试其他步骤

如果上述步骤中的 none 有帮助(例如,如果所有预期的文件都 存在 但您仍然收到 "Could not find mandroid!" 消息),您可以检查日志文件以获取可能的其他线索:

  1. Select 帮助 > Xamarin > 打开日志... 在 Visual Studio.

  2. 检查最近的 *Ide.logmonodroid*.log 个文件。