Xamarin无法在虚拟设备和外部电话

时间:2018-05-22 14:25:48

标签: debugging xamarin xamarin.forms

几天后,我正在努力调试我的项目。在调试模式下部署应用程序不可能

应用程序无法编译UWP和Android。 在UWP上进行编译会抛出一个错误,即调试器附加到进程,但它尚未配置为调试此未处理的异常。 它在这里打破:

#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
        UnhandledException += (sender, e) =>
        {
            if (global::System.Diagnostics.Debugger.IsAttached) 
                global::System.Diagnostics.Debugger.Break();
        };
#endif

我的项目是在.NET Standard 2.0.1中 我尝试过的步骤:

  1. 我尝试删除VS缓存(privateregistry.bin)。
  2. 我已经清理了项目,重建了它。
  3. 我甚至手动删除了bin和obj文件夹。
  4. 我已经更新并降级了Xamarin.Forms包(我已经尝试过预发行版和早期版本,现在我是最新稳定版)
  5. 我创建了一个空白项目,但仍然无法启动应用。

    有了发布选项,它就可以了,但是当我尝试使用调试它时说

      

    启动Android应用程序...   发生错误。有关详细信息,请参阅日志上的完整例外   无法开始调试。

         

    找不到指定的文件。 (以我的母语得到,所以翻译可能不是100%准确)

    我甚至不知道该故障的异常日志在哪里被抛出。最后一个想法是重新安装visual studio,但我不想采取这一步,因为Xamarin,ASP.NET,unity不是轻量级部件,每次Xamarin中的某些东西都不会重新安装VS. : - (

    有没有人有任何想法如何解决这个失败?也许你也在和Xamarin斗争过?说实话,我会尝试使用Ionic而不是那个,但必须修复它才能完成我的学校项目。

    最近我尝试了Xamarin Previewer和Gorilla Player,在此之前我认为一切正常。但是我在此期间更新了Windows和Visual Studio,我不确定原因是什么。

    ---编辑 - 这是我的日志

      

    3>完成建筑项目" TicketApp.csproj"。 3> TicketApp.Android - >   C:\ Xamarin \ TicketApp \ TicketApp \ TicketApp.Android \ BIN \发布\ TicketApp.Android.dll   3> C:\ Program Files \ Java \ jdk1.8.0_161 \ bin \ java.exe -Xmx1G -jar   " C:\ Program Files   (86)\的Android \ Android的SDK \积聚工具\ 27.0.1 \ lib中\ dx.jar" --dex   --no-strict --output obj \ Release \ android \ bin C:\ Xamarin \ TicketApp \ TicketApp \ TicketApp.Android \ obj \ Release \ android \ bin \ classes.zip   " C:\ Program Files(x86)\ Microsoft Visual   工作室\ 2017年\企业\ Common7 \ IDE \ ReferenceAssemblies \微软\框架\ MonoAndroid \ V8.1 \ mono.android.jar"   OBJ \发布\ LP \ 0 \ JL \ formsviewgroup.jar   OBJ \发布\ LP \ 10 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 11 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 12 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 13 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 14 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 15 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 16 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 17 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 18 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 19 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 20 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 21 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 22 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 23 \ JL \ BIN \ classes.jar   OBJ \发布\ LP \ 5 \ JL \拱核心common.jar   OBJ \发布\ LP \ 6 \ JL \拱生命周期common.jar   OBJ \发布\ LP \ 7 \ JL \ BIN \ classes.jar   obj \ Release \ lp \ 8 \ jl \ bin \ classes.jar 3>" C:\ Program Files   (x86)\ Microsoft Visual   工作室\ 2017 \企业\的MSBuild \ Xamarin \的Android \单symbolicate"   store-symbols" bin \ Release \ com.companyname.TicketApp.apk.mSYM"   "物镜\发布\机器人/资产" 3>目录obj \ Release \ android / assets   包含Java.Interop.dll但未找到调试符号文件。   3>目录obj \ Release \ android / assets包含Newtonsoft.Json.dll   但没有找到调试符号文件。 3 GT;指南   obj \ Release \ android / assets包含QRCoder.dll但没有调试符号   文件被发现。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Arch.Core.Common.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Arch.Lifecycle.Common.dll但没有调试符号文件   被找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Arch.Lifecycle.Runtime.dll但没有调试符号文件   被找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.Animated.Vector.Drawable.dll但没有调试   符号文件被发现。 3>目录obj \ Release \ android / assets   包含Xamarin.Android.Support.Annotations.dll但没有调试符号   文件被发现。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.Compat.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.Core.UI.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.Core.Utils.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.Design.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.Fragment.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.Media.Compat.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.Transition.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.v4.dll但未找到调试符号文件。   3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.v7.AppCompat.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.v7.CardView.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.v7.MediaRouter.dll但没有调试符号文件   被找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.v7.Palette.dll但没有调试符号文件   找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.v7.RecyclerView.dll但没有调试符号文件   被找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Android.Support.Vector.Drawable.dll但没有调试符号文件   被找到。 3>目录obj \ Release \ android / assets包含   Xamarin.Forms.Platform.dll但未找到调试符号文件。   3> C:\ Program Files \ Java \ jdk1.8.0_161 \ bin \ keytool.exe -list -alias   androiddebugkey -storepass android -keypass android -keystore   " C:\ Users \ szymo \ AppData \ Local \ Xamarin \ Mono for Android \ debug.keystore"   3> C:\ Program Files   (x86)\ Android \ android-sdk \ build-tools \ 27.0.1 \ zipalign.exe 4   " C:\ Xamarin \ TicketApp \ TicketApp \ TicketApp.Android \ OBJ \发布\机器人\ BIN \ com.companyname.TicketApp.apk"   "箱\发布\ com.companyname.TicketApp-Signed.apk" 3 GT; C:\程序   Files \ Java \ jdk1.8.0_161 \ bin \ java.exe -jar" C:\ Program Files   (86)\的Android \ Android的SDK \积聚工具\ 27.0.1 \ lib中\ apksigner.jar"标志   -ks" C:\ Users \ szymo \ AppData \ Local \ Xamarin \ Mono for Android \ debug.keystore" --ks-pass pass:android --ks-key-alias   androiddebugkey --key-pass pass:android --min-sdk-version 15   --max-sdk-version 27 C:\ Xamarin \ TicketApp \ TicketApp \ TicketApp.Android \ bin \ Release \ com.companyname.TicketApp-Signed.apk   3>失败[INSTALL_FAILED_NO_MATCHING_ABIS:无法提取原生   library,res = -113] 3>在   Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(字符串   output,String packageName)3>在   Mono.AndroidTools.AndroidDevice<> c__DisplayClass94_0.b__0(任务1 t) 3> at System.Threading.Tasks.ContinuationTaskFromResultTask 1.InnerInvoke()   3 GT;在System.Threading.Tasks.Task.Execute()3>完成构建项目   " TicketApp.Android.csproj&#34 ;. 3>构建成功。 3 GT;故障   [INSTALL_FAILED_NO_MATCHING_ABIS:无法提取本机库,   res = -113] 3>在   Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(字符串   output,String packageName)3>在   Mono.AndroidTools.AndroidDevice<> c__DisplayClass94_0.b__0(任务1 t) 3> at System.Threading.Tasks.ContinuationTaskFromResultTask 1.InnerInvoke()   3 GT;在System.Threading.Tasks.Task.Execute()3> 3>部署失败   关系

3 个答案:

答案 0 :(得分:0)

关于UWP,您将无法部署到win 10移动模拟器,因为它们都不支持.net标准2.0 - MS在所需版本之前杀死了功能更新。这意味着您需要部署到模拟器或本地计算机,但也意味着这些设备需要运行正确的操作系统(版本16299)。 我直接部署到Android设备,因为我不能让模拟器在我的生活中工作....

答案 1 :(得分:0)

经过很长一段时间后问题解决了。 Xamarin - 再也不会了。

修复步骤:

  1. 未选中使用共享运行时选项
  2. 将应用程序图像设置为股票xamarin徽标(它是空的,所以我认为默认情况下它是相同的,我不知道该步骤是否对修复该问题有任何影响)。

    • 重新安装xamarin vs扩展 - 没有结果(接下来的步骤将重新安装vs并格式化我的电脑)
  3. Settings changed to fix error

答案 2 :(得分:0)

要在设备上以“调试模式”部署应用程序,首先需要启用调试。尝试按照Digital Trends采取的这些步骤:

  1. 如果使用库存的Android,请转到“设置”>“关于手机”>“内部版本号”。在Samsung Galaxy设备上,转到设置>关于设备>内部版本号。在HTC设备上,依次转到设置>关于>软件信息>更多>内部版本号。在LG设备上,依次转到设置>关于手机>软件信息>内部版本号。

  2. 点击内部版本号七次。轻按前几下后,您应该看到倒数的步骤,直到解锁开发人员选项为止。激活后,您将看到一条消息,内容为“您现在是开发人员!”

  3. 返回“设置”,您将在菜单中找到“开发人员选项”条目(最后一个)。

  4. 在“调试”标题下,启用USB调试。