Xamarinデバッグへの道は長い…。

トラブルシューティングの記事を書いていきます。

主に、「サブプロジェクト “プロジェクト名.Droid”の作成中にエラーが発生しました。This property is not valid when the SDK is not installed」というエラーについてです。

「This property is not valid when the SDK is not installed」 is 何

かりまたかりまた

前回の「Xamarinのプロジェクトの作り方」では頓挫してしまったような記事になってしまったので、エラー原因を追究していこうと思います。

中野中野

ところで、この英語はどういう意味なんだよ

ビッチ先生ビッチ先生

簡単に言うと、「SDKがインストールされてない」ってことよ。

中野中野

SDKってなんだよ!ちゃんと教えてくれよ!

圭

チッ、馬鹿は黙ってろ。

中野中野

バカってなんだよ!バカって言う方がバカなんだぞ!

かりまたかりまた

それと気になることがもう一つある

「Command did not execute successfully due to an unexpected exception. Please check the output window for additional information.」 is 何

かりまたかりまた

ツール>Android>SDKマネージャーをクリックすると、以下のようなメッセージが出る。

ビッチ先生ビッチ先生

「例外が発生した為、コマンドが正しく実行されませんでした。追加情報を出力ウィンドウで確認してください。」ってところかしら。

りんちゃんりんちゃん

SDKが無いと言われている状態でAndroid SDK マネージャーを開こうとするとそりゃそうにゃるにゃ~

パターン① VS史上最強の裏技 「VSの再起動」

かりまたかりまた

実際、具体的にこうすれば解決するよ!という知識を持ち合わせていないので、一つ一つ手探りで確認していきます。今回はVSの再起動を行ってみたいと思います。

りんちゃんりんちゃん

確かに、VSの再起動をやってみると、なんでかデバッグできるようになるという謎現象はあるにゃー。

圭

Xamarinでも、VSの再起動でなぜか上手く動くようになった、ということがあるみたいだから、やってみる価値はあるかもね。

 

かりまたかりまた

ダメだった…。

そもそも、ソリューションエクスプローラ(右側)にiOSしかないのがおかしいな。

ソリューションにAndroidが作成されない理由と繋がっているかもしれない。

圭

そもそも、今回のVS再起動で期待した動きというのはSDKの読み込みだった訳だが、再起動を行ってもSDKの読み込みが正しく行われなかった。と言うことは、SDKの設定が正しく行われていないのかもね。

かりまたかりまた

確かに。だとすれば、SDKの設定を見直してみるか。

パターン② SDKの設定の見直し

かりまたかりまた

じゃあ早速、SDKの見直しをしてみよう。

ツールオプションをクリックしてください。

かりまたかりまた

オプションウィンドウの中からXamarinを選択っと。

りんちゃんりんちゃん

JDKにもSDKにもNDKにもチェックが付いてて良さげだにゃん。

かりまたかりまた

本当だね。とりあえず、Android SDKのChangeをクリックしてみよう。

かりまたかりまた

※Android SDKの選択を行うのが2回目なんですが、1回目に見たときは2つのSDKが検出されており、1つは今表示されているSDK、もう一つはXamarin Mono Android SDKというSDKが表示されていましたが、SDKを切り替えたことで表示されなくなってしまっている…なぜだ。。。

かりまたかりまた

複数のSDKが表示されている場合はSDKを切り替えて OKボタンを押して、VSを再起動してみましょう。さっきと同じように、Android SDKマネージャーを開いてみましょう。すると…

りんちゃんりんちゃん

ようやくAndroid SDK マネージャーが立ち上がったにゃ~

もう一度、Xamarin Formsの作成をしてみる。

かりまたかりまた

さあさあ、SDKが起動出来るようになったところで、もう一度Xamarin Formsを作り直してみましょう。Xamarinのプロジェクトを作る方法は「Xamarinのプロジェクトの作り方」を参考にしてね。で、再度作成してみますと~~

かりまたかりまた

はいキマした!

りんちゃんりんちゃん

プロジェクトにDroidファイルが追加されてますにゃ~

かりまたかりまた

やったねりんちゃん!Xamarinが開発できるよ!

まとめ

  • 今回の場合、Android SDK の認識がされていなかったのは「正しいSDKが設定されてなかった」
  • この他にも、JDKのバージョンが正しく設定されていない場合でも同じように設定を変更することで動作させることができるようになる