質問: C# でAndroidのアプリを作ろうとしています。環境は以下です。 ・Windows 7(64bit)メモリ8GB ・Visual Studio 2015 + xamarin ・実機Android端末はGL07S →ドライバはインストールしVisualStudioの実機を選択するドロップダウンの状態にもHUAWEI GL07Sが出ています。 新規プロジェクトを作成(Blank App (Android))し、上記のHUAWEI GL07Sからデバッグ使用とすると後述していますエラーメッセージが出力されてデプロイに失敗してしまいます。 どのような原因が考えられますでしょうか・・・? --- 1>ビルドを開始しました。 1>C:\Program Files (x86)\MSBuild\14.0\bin\csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE;*XAMARIN_ANDROID_v1_0*;*MOBILE*;*ANDROID*;*ANDROID_1*;*ANDROID_2*;*ANDROID_3*;*ANDROID_4*;*ANDROID_5*;*ANDROID_6*;*ANDROID_7*;*ANDROID_8*;*ANDROID_9*;*ANDROID_10*;*ANDROID_11*;*ANDROID_12*;*ANDROID_13*;*ANDROID_14*;*ANDROID_15*;*ANDROID_16*;*ANDROID_17*;*ANDROID_18*;*ANDROID_19*;*ANDROID_20*;*ANDROID_21*;*ANDROID_22*;*ANDROID_23* /errorendlocation /preferreduilang:ja-JP /reference: --中略-- 1> Processing: obj\Debug\res\layout\main.xml 1> Processing: obj\Debug\res\values\strings.xml 1>C:\Users\Kei\AppData\Local\Android\sdk\platform-tools\adb.exe -s 021XXR2139001781 shell getprop ro.build.version.sdk 1>C:\Users\Kei\AppData\Local\Android\sdk\platform-tools\adb.exe -s 021XXR2139001781 shell getprop ro.product.cpu.abi 1>:Deployment failed 1>Mono.AndroidTools.AdbException: 転送接続にデータを書き込めません: 既存の接続はリモート ホストに強制的に切断されました。。 ---> System.IO.IOException: 転送接続にデータを書き込めません: 既存の接続はリモート ホストに強制的に切断されました。。 ---> System.Net.Sockets.SocketException: 既存の接続はリモート ホストに強制的に切断されました。 1> 場所 System.Net.Sockets.Socket.EndSend(IAsyncResult asyncResult) 1> 場所 System.Net.Sockets.NetworkStream.EndWrite(IAsyncResult asyncResult) 1> --- 内部例外スタック トレースの終わり --- 1> 場所 System.Net.Sockets.NetworkStream.EndWrite(IAsyncResult asyncResult) 1> 場所 Mono.AndroidTools.Adb.AdbSyncClient.FileWrite_OnWroteChunk(IAsyncResult result) 1> --- 内部例外スタック トレースの終わり --- 1> 場所 Mono.AndroidTools.Util.AggregateAsyncResult.CheckError(CancellationToken token) 1> 場所 Mono.AndroidTools.Adb.AdbSyncClient.EndPush(IAsyncResult result) 1> 場所 System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization) 1>"InstallPackageAssemblies" タスクが予期せずに失敗しました。 1>System.AggregateException: 1 つ以上のエラーが発生しました。 ---> Xamarin.AndroidTools.AndroidDeploymentException: InternalError ---> Mono.AndroidTools.AdbException: 転送接続にデータを書き込めません: 既存の接続はリモート ホストに強制的に切断されました。。 ---> System.IO.IOException: 転送接続にデータを書き込めません: 既存の接続はリモート ホストに強制的に切断されました。。 ---> System.Net.Sockets.SocketException: 既存の接続はリモート ホストに強制的に切断されました。 1> 場所 System.Net.Sockets.Socket.EndSend(IAsyncResult asyncResult) 1> 場所 System.Net.Sockets.NetworkStream.EndWrite(IAsyncResult asyncResult) 1> --- 内部例外スタック トレースの終わり --- 1> 場所 System.Net.Sockets.NetworkStream.EndWrite(IAsyncResult asyncResult) 1> 場所 Mono.AndroidTools.Adb.AdbSyncClient.FileWrite_OnWroteChunk(IAsyncResult result) 1> --- 内部例外スタック トレースの終わり --- 1> 場所 Mono.AndroidTools.Util.AggregateAsyncResult.CheckError(CancellationToken token) 1> 場所 Mono.AndroidTools.Adb.AdbSyncClient.EndPush(IAsyncResult result) 1> 場所 System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization) 1> --- 内部例外スタック トレースの終わり --- 1> 場所 Xamarin.AndroidTools.AndroidDeploySession.d*99.MoveNext() 1>--- 直前に例外がスローされた場所からのスタック トレースの終わり --- 1> 場所 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 1> 場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 1> 場所 Xamarin.AndroidTools.AndroidDeploySession.d*98.MoveNext() 1> --- 内部例外スタック トレースの終わり --- 1> 場所 System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) 1> 場所 System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) 1> 場所 System.Threading.Tasks.Task.Wait() 1> 場所 Xamarin.Android.Tasks.InstallPackageAssemblies.Execute() 1> 場所 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 1> 場所 Microsoft.Build.BackEnd.TaskBuilder.d*26.MoveNext() 1>---> (内部例外 #0) Xamarin.AndroidTools.AndroidDeploymentException: InternalError ---> Mono.AndroidTools.AdbException: 転送接続にデータを書き込めません: 既存の接続はリモート ホストに強制的に切断されました。。 ---> System.IO.IOException: 転送接続にデータを書き込めません: 既存の接続はリモート ホストに強制的に切断されました。。 ---> System.Net.Sockets.SocketException: 既存の接続はリモート ホストに強制的に切断されました。 1> 場所 System.Net.Sockets.Socket.EndSend(IAsyncResult asyncResult) 1> 場所 System.Net.Sockets.NetworkStream.EndWrite(IAsyncResult asyncResult) 1> --- 内部例外スタック トレースの終わり --- 1> 場所 System.Net.Sockets.NetworkStream.EndWrite(IAsyncResult asyncResult) 1> 場所 Mono.AndroidTools.Adb.AdbSyncClient.FileWrite_OnWroteChunk(IAsyncResult result) 1> --- 内部例外スタック トレースの終わり --- 1> 場所 Mono.AndroidTools.Util.AggregateAsyncResult.CheckError(CancellationToken token) 1> 場所 Mono.AndroidTools.Adb.AdbSyncClient.EndPush(IAsyncResult result) 1> 場所 System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization) 1> --- 内部例外スタック トレースの終わり --- 1> 場所 Xamarin.AndroidTools.AndroidDeploySession.d*99.MoveNext() 1>--- 直前に例外がスローされた場所からのスタック トレースの終わり --- 1> 場所 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 1> 場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 1> 場所 Xamarin.AndroidTools.AndroidDeploySession.d__98.MoveNext()<--- 1> 1>ビルドに失敗しました。 1>An error occured. See full exception on logs for more details. --- >ddmsのファイルエクスプローラーやadbのコマンドなどで、実機にデータが書き込めるかどうかなど、自分で調べて対応してみたことを加えて欲しいです。 自分で調べてみたこととしては、ひたすらエラーのメッセージをもとに ググってみたという感じですが、結局調べている間に数時間経過した上に、 どうしていいかわからず質問をさせていただいたという状況です。 ddmsやadbというのが何か自体も現状わかっていないので対応は していないです。 このキーワードが何かという点から調べて みたいと思います。 >お手数ですが、 adb shell getprop ro.product.cpu.abi を実行した時の値を追記してください。 実行結果は以下です。 \App24\App24>adb shell getprop ro.product.cpu.abi armeabi-v7a > にあるコメントと関連性があるように見えますが、もしそうなら、関連性を記述してください。 の内容はエミュレーターを 設定しないといけないということ自体がわかっていませんでした。 エミュレーターを設定することで、エミュレーターで起動出来たのですが、 実機の方が動作も早く確認しやすいとのうわさだったので、 実機でやってみようと思い、今回試しています。
回答: 何回か操作していたらいつの間にか解決しました。 解決までに実施したことを以下に記載しておきます。 ・Visual Studioの再起動 ・PCの再起動 ・実機の端末を再起動