質問者
Androidエミュレータ、Xamarinデザイナーの動作がおかしいです

質問
-
Visual Studio Community 2019でXamarinネイティブを使用して、Androidのアプリを作成しようとしているのですが、以下の様な不具合?が発生しています。当方はモバイルアプリ開発やXamarinは全く初めてで、私の操作が悪いのかもしれませんが、どこが悪いのかわかりません。
1.以下の様な操作でプロジェクトを作成し、エミュレーションしようとしています。
1.1 新規プロジェクトの作成
(1)「Androidアプリ(Xamarin)」を選択。
(2)プロジェクト名を例えば「ErrorTest」とする。
(3)「場所」はD:\Android_2019\XamarinNativeAndroid\TestProjectsとする。
(4)「空のアプリ」を選択。
(5)「Minimum Android Version」を「Android 4.4 (Kit Kat)」に設定
(6)ソリューションエクスプローラで「プロパティ」→「Androidオプション」の「共有ランタイムの使用」のチェックは入れておく。
1.2 作成したエミュレータ
名前 Galaxy Nexus
基本デバイス Galaxy Nexus
プロセッサ armeabi-v7a
OS Kit Kat 4.4 - API 19
Google APIs チェックを入れる
2.発生している現象
2.1 エミュレーションが正常に動作しない。
作成したプロジェクトに全く手を入れずにビルドし、エミュレーションを試みるのですが、次のようにうまくいきません。
(1)(1)「共有ランタイムの使用」にチェックを入れたまま、デバッグを開始すると、デバッグは開始されるが、白い画面が表示された後、勝手にデバッグが終了してしまう。
(2)(2)「共有ランタイムの使用」のチェックを外してデバッグ開始すると、「配置エラー」となる。
2.2 画面のデザイナーの動作がおかしい。
ソリューションエクスプローラで「Resources」→「layout」の下にある「activity_main.xml」をダブルクリックしてデザイナーを起動するのですが、次のように動作がおかしいです。
(1)配置したコントロールがデザイナー画面に表示されない。
「ツールボックス」からコントロールをドラッグアンドドロップしてデザイナー画面に配置するのですが、配置したコントロールが画面に表示されません。activity_main.xmlのコントロール部分にカーソルを置くと、コントロールの輪郭だけが表示されます。
(2)2個目のコントロールが配置できない。
activity_main.xmlファイルを直接編集すれば2個目のコントロールを配置できますが、デザイナー画面で2個目を配置できません。
1個目のコントロールを削除すれば、次のコントロールが配置できるようになります。
(3)(3)コントロールのIDを変更しても、変更したIDがすぐに有効にならない。変更前の旧IDが有効になっている。例えばボタンのIDをデフォルトの「button1」から「DisplayButton」に変更して、MainActivity.csに次のようなコードを追加します。
var DisplayButton =
FindViewById<Button>(Resource.Id./*button1*/DisplayButton);
すると行末の「DisplayButton」がC#のエディタ上でエラーになります。「DisplayButton」を「button1」にすると、エラーは消えます。その後、しばらく日を置くと、いつの間にか「DisplayButton」のエラーが消えます。
3.以上のように多数の不具合があることから、VSC2019を再インストールしてみましたが、現象は同じでした。
4.当方の環境
Visual Studio Community 2019 Version 16.2.3
Windows 10 Pro. バージョン1903
CPU インテルCore2 Quad Q9550s(Hyper-Vなし、Intel VT-xあり)
メモリ 6GB
以上、よろしくお願いします。
- 編集済み fghck856 2019年9月6日 15:42
すべての返信
-
fghck856さん、こんにちは。フォーラムオペレーターのHarukaです。
MSDNフォーラムにご投稿くださいましてありがとうございます。
上記の件につきまして、
2.2
(1)(2)プレビューウィンドウのAppThemeタグでテーマを選択してから、コントロールをツールボックスからドラッグし、デザイナ画面に効果を与えます。
(3)IDを変更した後、「ctrl + s」で変更を保存してみてください。まだすぐに有効にならない場合は、エラーを無視して、再構築して実行できます。
時々更新されていないことがあります。どうぞよろしくお願いします。
MSDN/ TechNet Community Support Haruka
ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~ -
Haruka様、こんにちは。ご回答ありがとうございます。
2.2項(1)(2)について
テーマを選択後、コントロールをドラッグしてみましたが、やはりダメです。
ツールボックスからコントロールをドラッグして、マウスから指を放す前までは、デザイナ画面のスマホ部分に色がついて、ボタンもテーマを反映したボタンの画像が表示されているのですが、マウスから指を放すとボタンやスマホ部分の色が消えます。2個目のボタンもやはり配置できません。
テーマの数が多すぎて、全てを試したわけではありませんが、どのテーマを選択しても、同じようです。2.2項(3)について
IDを変更後、変更を保存してみましたが、同じで、変更したIDが有効になりません。リビルドすると変更部分がエラーになります。よろしくお願いします。
-
fghck856さん、こんにちは。フォーラムオペレーターのHarukaです。
ご返信いただきありがとうございます。
2.2項(1)(2)について
すみませんが、見当が付きませんでした。与えた方法は私側で機能しますが。
2.2項(3)について
プロジェクトをクリーンアップしてから再構築してみてください。
まだ機能しない場合は、Resource.Designer.csファイルのコンテンツを削除してから、再構築してください。(ファイルではなくコンテンツを削除します)。どうぞよろしくお願いします。
MSDN/ TechNet Community Support Haruka
ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~ -
fghck856さん、こんにちは。フォーラムオペレーターのHarukaです。
ご返信いただきありがとうございます。
2.2項(1)(2)について
プレビューを無視して、右側のxamlコードに直接書き込み、それを実行して電話で結果を確認することができます。
2.2項(3)について
はい、ファイルを削除するのではなく、ファイル内のすべてのコードを削除します。どうぞよろしくお願いします。
MSDN/ TechNet Community Support Haruka
ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~ -
fghck856さん、こんにちは。フォーラムオペレーターのHarukaです。
https://github.com/github/VisualStudio/issues
ご返信いただきありがとうございます。
2.2項(1)(2)について
携帯電話でのテストが最適です。
2.2項(3)について
Visual StudioはAndroid studioとは違って、変更後すぐに有効になりません。
すぐに効果を上げたい場合は、下記のリンクで報告してください。
どうぞよろしくお願いします。
MSDN/ TechNet Community Support Haruka
ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~ -
Haruka様、こんにちは。携帯電話でのテスト結果を報告します。
2.2項(1)(2)について
xmlファイルを直接編集して、複数のボタンを配置し、携帯電話にインストールしたところ、ボタンは正常に表示されました。
しかしながら、携帯電話にインストールするには、「アーカイブ」、「配布」、携帯電話へのファイル転送などの作業が必要で、手間がかかります。
その手間を省くためにあるのがデザイナー画面だと思います。
「携帯電話にインストールしなければ、コントロールが表示されない」では、何のためにデザイナー画面があるのかわかりません。
もっとも、前にも書いた通り、この現象が私のパソコンでしか発生しないのであれば、あきらめるしかありませんが。
2.2項(3)について
今まで、「IDが有効にならない」という書き方をしましたが、これはすこし違っていて、正確には「IDは有効になるが、エラー表示が消えない」ということのようです。
なぜならば、エラーが表示されていても、リビルドは「正常に終了」し、携帯電話へのインストールが可能になるからです。
エラー表示は、パソコンを再起動したりすると、消えることもありますが、これで消えない場合でも、携帯電話へのインストールのために、「アーカイブ」、「配布」などを行うとエラーが消えるようです。
いずれにしても画面にエラーが表示されているのは気持ちの良いものではありません。また、他のエラー(本当のエラー)との見分けも付きづらいです。
これはVisual Studio Community 2019のバグのようなので、「フィードバックの送信」を試みようかとも考えています。よろしくお願いします。