Visual Studio 2017部署到设备挂起

时间:2017-06-13 10:07:23

标签: android xamarin deployment visual-studio-2017

我的移动xamarin应用程序的构建始终在流程中挂起:

1>  Processing: obj\Debug\res\layout\homeview.xml
1>  Processing: obj\Debug\res\layout\loginnotificationfragment.xml
1>  Processing: obj\Debug\res\layout\registerdeviceview.xml
1>  Processing: obj\Debug\res\layout\registrationsucceededview.xml
1>  Processing: obj\Debug\res\layout\splashscreen.xml
1>  Processing: obj\Debug\res\layout\textnotificationfragment.xml
1>  Processing: obj\Debug\res\layout\textnotificationitemtemplate.xml
1>  Processing: obj\Debug\res\menu\homenotificationsmenu.xml
1>  Processing: obj\Debug\res\values\colors.xml
1>  Processing: obj\Debug\res\values\strings.xml
1>  Processing: obj\Debug\res\values\styles.xml
1>  Processing: obj\Debug\res\values\values.xml
1>C:\Program Files\Java\jdk1.8.0_121\\bin\keytool.exe -list -alias androiddebugkey -storepass android -keypass android -keystore "C:\Users\Paul\AppData\Local\Xamarin\Mono for Android\debug.keystore" 
1>C:\Program Files\Java\jdk1.8.0_121\\bin\jarsigner.exe -keystore "C:\Users\Paul\AppData\Local\Xamarin\Mono for Android\debug.keystore" -storepass android -keypass android -digestalg SHA1 -sigalg md5withRSA -signedjar bin\Debug\
1>l.natuurnetwerk.notifier-Signed-Unaligned.apk C:\Projects\Notifier\Notifier\Notifier.Android\obj\Debug\android\bin
1>l.natuurnetwerk.notifier.apk androiddebugkey 
1>No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2047-02-06) or after any future revocation date.
1>C:\Users\Paul\AppData\Local\Android\android-sdk\build-tools\25.0.0\zipalign.exe 4 "C:\Projects\Notifier\Notifier\Notifier.Android\bin\Debug
1>l.natuurnetwerk.notifier-Signed-Unaligned.apk" "bin\Debug\
1>l.natuurnetwerk.notifier-Signed.apk" 

将详细程度设置为详细信息,这将在挂起时显示:

2>  EnableInstantRun: False
2>  InstantRunForceUploadApk: True
2>  AndroidSdkPath: C:\Users\Paul\AppData\Local\Android\android-sdk
2>  AndroidNdkPath: C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>  JavaSdkPath: C:\Program Files\Java\jdk1.8.0_121
2>  Found AndroidSdk at C:\Users\Paul\AppData\Local\Android\android-sdk
2>  Found AndroidNdk at C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>  Found AndroidTools at C:\Users\Paul\AppData\Local\Android\android-sdk\tools
2>DEBUG RunShellCommand 1015faeb8a312a02 getprop
2>TASK: GetProperties getprop completed?:[audioflinger.bootsnd]: [0]
2>[boot.sfbootcomplete]: [0]
2>[dalvik.vm.appimageformat]: [lz4]
2>[dalvik.vm....
2>[BEGIN] Detecting installed packages
2>[MESSAGE] Detecting installed packages...
2>Detecting installed packages...
2>DEBUG RunShellCommand 1015faeb8a312a02 am broadcast -a "mono.android.intent.action.PACKAGE_VERSIONS" -e "packages" "Mono.Android.DebugRuntime,Mono.Android.Platform.ApiLevel_25,nl.natuurnetwerk.notifier" -n "Mono.Android.DebugRuntime/com.xamarin.mono.android.PackageVersions"

由于部署没有继续,我现在陷入困境:

Microsoft Visual Studio Professional 2017 版本15.2(26430.13)发布 VisualStudio.15.Release / 15.2.0 + 26430.13 Microsoft .NET Framework 版本4.6.01586

已安装版本:专业

Visual C#2017 00369-60000-00001-AA880 Microsoft Visual C#2017

Visual Studio Mono.Debugging.VisualStudio的单调调试 支持使用Visual Studio调试Mono进程。

NuGet Package Manager 4.2.0 Visual Studio中的NuGet包管理器。有关NuGet的更多信息,请访问http://docs.nuget.org/

Apache Cordova 15.113.6201.1的Visual Studio工具 用于Apache Cordova的Visual Studio工具

Xamarin 4.5.0.486(fec6f88) Visual Studio扩展,支持Xamarin.iOS和Xamarin.Android的开发。

Xamarin.Android SDK 7.3.1.2(9dbc4c5) Xamarin.Android参考装配和MSBuild支持。

Xamarin.iOS和Xamarin.Mac SDK 10.10.0.37(ad35de4) Xamarin.iOS和Xamarin.Mac参考组件和MSBuild支持。

3 个答案:

答案 0 :(得分:0)

我无法相信。前一天部署只是拒绝继续,但这个非常明亮的阳光早晨部署简单继续,好像什么都没有出错。非常非常神秘。

答案 1 :(得分:0)

对于遇到同样问题的其他人,值得在Visual Studio开发人员社区网站上查看此报告: https://developercommunity.visualstudio.com/content/problem/211740/apk-signature-fails-apksignerbat.html

似乎有两种可能的解决方法:

  1. 将apksigner.bat的最后一行替换为call "%java_exe%" %javaOpts% -classpath "%frameworkdir%" -jar "%jarpath%" %params%
  2. 删除除JDK8的单个实例之外的所有JDK / JRE版本。

答案 2 :(得分:0)

我当时使用的是Android Pixel 3模拟器(Xamarin),没有任何问题,有一天它突然遇到了这个问题。在尝试了几个选项之后-对我而言唯一有效的选项是完全删除我正在使用的仿真器,然后重新安装新的仿真器。

一切恢复正常-当然,您将丢失所有先前部署的应用程序。但是对于像我这样的Xamarin学习者来说,这不是一个大问题。

enter image description here