«

""


[Android] 謎のエラー「Unable to start debugging.」が出たときの対応

Androidデバッグで実行時エラー

環境

ある時…Visual Studio で作っている Android プロジェクトが、実行時エラーになりました

Unable to start debugging. Check your debugger settings by opening project properties and navigating to ‘Configuration Properties–> Debugging’

デバック出来ないからね!プロジェクトの設定見てね!的な意味みたいですが
デバッグモードで動かしてるし…
一体どこの何の事を言ってるのか判らない…><。

リリースモードならOKなのかしら?と思っても、同様のエラー”(-“”-)”

解決案(わたしはこれでは解決しませんでしたが)

検索しても、実のある回答は特に出てこず…
唯一、解決っぽいのが、NVIDIAさんのフォーラムに載ってました

元ネタリンクはMicrosoftさんのGitHub情報みたいです

簡単に言うと、VSの Developer Command Prompt を使って、キャッシュクリアしてみたら?というもの
やってみました

  1. Developer Command Prompt を検索して立ち上げる

  2. 以下のコマンドを打つ

Devenv /UpdateConfiguration
Devenv /ClearCache

もっともらしい対策なんですけど、わたしの実行時エラーは解決しませんでした
何がダメなのだろ…((+_+))

わたしが解決した方法

で、実際の解決策ですが…
すみません、散々あーだこーだ書いてますが
スタートアッププロジェクトの設定もれ でした…( ;∀;)
いやはや、お恥ずかしい…

Androidプロジェクトが参照する、別のプロジェクト達が
同じソリューションファイルの中に複数存在しています

なのに、Androidプロジェクトを起動プロジェクトに設定しておらず…

ポカミスとはまさにこの事!( ;∀;)

なぜこれに気が付かなかったのか…相当焦ってて、周りが見えてなかったみたいです

二度と同じ過ちを繰り返さないように…><。
あと、同様のエラーで困ってる人の何かしらの参考になればと思います><。


[Android] Hyper-Vで使うVisual Studio Emulator for Androidの最初の一歩

どうもうまくAndroidエミュレータが動かない…

いわゆる ADV Manager をつかって、Androidをエミューレートしたいのですが
なぜかうまく起動しない…

環境

Android SDK Managerをよく見てみると、HAXM installer が “Not compatible with Windows” となっています

ふむ…
無理矢理 HAXM のインストーラーをダウンロードしてきても、こんな感じでエラー

This computer does not support Intel Virtualization Technology (VT-x) or it is being exclusively used by Hyper-V, HAXM cannot be installed.
Please ensure Hyper-V is disabled in Windows Features, or refer to the Intel HAXM documentation for more information.

なんですと…Hyper-Vが入ってたら使えないよだと…(`・ω・´)

ワタクシ、Android 開発のために手元の Hyper-V を辞める事は出来ないデスヨ!
調べてみると「Visual Studio Emulator for Android」というHyper-Vベースで動くエミュレーターが用意されているらしいので設定してみました

Visual Studio Emulator for Android

すでに色んな方が同じ様な記事を書かれていますが、わたくしも今一度、再確認でございます…

1. まず、Hyper-V が有効なこと

(Control Panle > Programs and Features > Turn Windows features on or off)

2. Visual Studio 2017のインストーラーで「Visual Studio Emulator for Android」を選択すること

下の図では「Google Android Emulator」「HAXM」も選択してますが、はっきり言って
この2つと、「Visual Studio Emulator for Android」は、排他の関係にあるので
「Visual Studio Emulator for Android」だけ選択でOK

3. 「Visual Studio Emulator for Android」を立ち上げる

検索すると、インストールされてます

立ち上げたらこんな画面

これでまずは準備完了

エミュレーターの起動

1. 空のプロジェクトを作る

わたしはC++で開発したかったので、Androidプロジェクトの「Native-Activity Application (Android)」で新規作成しました

デバックメニューに「Visual Studio Emulator for Android」の欄が増えてますね

(注意!)「x86」を選択しないと、このエミュレーターは出てきません!

2. 「Visual Studio Emulator for Android」でAndroidを起動させる

先ほど立ち上げた「Visual Studio Emulator for Android」のメニューより、緑の三角印を押して、エミュレーターを起動させます

起動できた(`・ω・´)

エミュレーターが起動しない時

最初、わたしはエミュレーターが起動途中でストップしてしまいました(-_-)zzz

The emulator is unable to connect to the device operating system:
Could’t auto-detect the guest system IP address.
Some functionality might be disabled.

なんじゃこりゃ…(´・ω・`)
IPうんぬんと書かれてるので、NWプロパティを見てみます

Conrtol Panel
 > Network and Internet
  > Network Connections

Hyper-Vが「Visual Studio Emulator for Android」のために作ったと思われるアダプターがありました

わたしの場合
vEthernet (Internal Ethernet Port Windows Phone Emulator Internal Switch)
という名前です

IPv4プロパティを見てみると、変なIPアドレスが割り当てられてる…?
慌てて削除し、動的に変更する設定に変えます↓↓↓

いちお、NWアダプタは「識別されてないネットワーク」状態ですが
エラー表示にはなっていません

この状態で、エミュレーターを起動させると、無事立ち上がりました(^^)良かった!

エミュレーターでデバックする

VSに戻ってみると、こんな感じでエミュレーターがデバックで使えるようになってます!

VSからデバック実行させると

サンプルが動作しました

この状態でブレークポイントも効くので、まずは最初の設定完了って感じでしょうか
パチパチ(^^)

※ちなみに実機でデバックする時には、「x86」じゃなくて「ARM」など、その実機に合ったCPUを選択したらOKです


[Android]Xiaomi Redmi Note2にGooglePlayをインストールする

クロスプラットフォームで開発していると、やはり最新の端末が欲しくなりますよね~

1年以内発売の iPhone と Windows Phone は持っているのですが
そろそろ新しい Android が欲しい~と思っていたので、買ってしまいました

シンガポール旅行に行った際に、ブギスの電気屋街、Sim Lim Square(シムリム スクウェア)で、今をトキメク Xiaomi(しゃおみ)デバイスを購入しました

全部で6Fまでありましたが、結局1Fのお店の品ぞろえが一番まとまってる印象でした
Xiaomi正規店も1Fに入っていました


Xiaomi Redmi Note 2

購入したのは、Xiaomi Redmi Note 2

画像のように、デフォルトでは中国語のアプリがたくさん入っています
そして、Google Play Store は入っていません!

デフォルトのIMEが Buidu なので、まぁこのままでは、日本語が打てません(><;)

なので Google Play Store をインストールする方法をメモしておきます


GooglePlay installer APKが最適解

検索すると色々な方法が出てくるのですが、おそらく、Google installer のAPKを直接インストールするのが、手っ取り早いです
(チャイナストアやMIストアからGooglePlayらしきものをインストールしても、わたしの場合は、動作しませんでした)

情報元はこちらの Xiaomi公式コミュニティ掲示板です

Xiaomiはすごくコミュニティも発達してるんですよね~ちゃんと英語の掲示板なので、読めました(^_^)

上記サイトにある、GooglePlayを入れるための Google installer をAPKからインストールします

Google installer谷歌应用下载器.apk
(1009.36 KB, Downloads: 237400)

PCから落とすなどするよりも、直接 Xiaomi デバイスからダウンロードした方が、早いと思います
もしかしたら、MIアカウントを作らないとダウンロード出来ないかもしれません(わたしは作りました)


Androidがセキュア過ぎて、思った順番にインストール出来ない

installer を入れると、以下の4つがインストール可能になります

  1. Google Services Framework
  2. Google Account Manager
  3. Google Play services
  4. Google Play Store

そのままインストールしたら良いので、おそらく、この順番でインストールが走ると思います
(ここ、画面キャプチャを取り忘れたので申し訳ない)

ところが、1番目をインストールしようとすると、本当にインストールしていいかどうかの許可画面が出ますよね、こんな感じに…
(イメージ画像です↓↓↓)

この画面で 「1番のアプリに対して」ユーザが許可を押そうとするときに、すでに「2番目のインストール」が動いてしまうのです

結果的に、 「1番のアプリの許可画面」は裏にまわってしまい
「2番目のアプリの許可画面」が一番手前に来ることになります
つまり最終的には、「4番目のアプリの許可画面」が最前面になります

入れたいアプリは Google Play Store なので、それでも良いかなと思って
4→3→2→1の順にインストールするんですけど、
お察しの通り、Google Play Store は起動しません
おそらく、Google Services Framework とかが、Google Play Store のインストールに必要なんじゃないかなーと思います

なので、いったん、Google Play services、Google Play Store をアンインストールし、再度、Google Play services、Google Play Store をインストールします

いやー(~0~) これで、わたしの端末で、Google Play が動くようになりました!


その他、Xiaomi デバイスで気づいたところ

日本語モードはない

日本語モードは入っていません
ROMとか焼き直すと良いらしいですけど、まだやってないです

Permissions アプリがうれしい

デフォルトで入っている Permittions アプリが最高に便利

各アプリ毎の許可 どのアプリが使ってるか

SIMは2枚ささる

両方LTEをつかめます
ただし、片方がLTEをつかんでいるときは、もう一方はつかめない仕様です

なので、日本で、1番目にDocomoを刺して、2番目にauを刺す、とかして
1番目はLTEでデータ通信、2番目はauで電話とメールのみ
とかにしたくても、ちょっと難しいかも
日本は今現在、ほぼLTEになってしまってるので、そういう活用は出来なさそうかも…?

どちらにしても、技適通ってない端末なので、日本では使っちゃダメ

まとめ

もろもろ満足しています
同じようにシンガポールや中国で購入した方の参考になれば~


[Android] 開発者向けオプション表示とAPKインストールコマンド

ずいぶん昔から出ている情報ですが、メモっときます

Android端末に自作アプリを入れるシンプルな方法です

Android端末での準備

Android4.2以降の端末だと「開発者向けオプション」が非表示になってるので

USBデバッグを有効にしたい場合は

端末情報 > ビルド番号

このビルド番号を7回クリックしたら、「開発者向けオプション」が表示されます

やっておくことは
こんなところでOK

(参考)
USBデバッグを有効にする、提供元不明アプリのインストールを許可する - Yahoo!スマホマネージャーヘルプ 

Android端末にAPKをインストール

AndroidSDKをインストールした場所に adb tool が入っています

わたしの場合は C:\Library\android-sdk にインストールしたので、adb.exe は

C:\Library\android-sdk\platform-tools\adb.exe

よく他のサイトで、PCの環境変数パスに、C:\Library\android-sdk\platform-tools を追加設定する、というのを見かけますが
単にこの abd.exe を使うだけであれば、環境変数への追加は必要ないです

UBSでAndroid端末をPCに接続した状態で
手元の MyApp.apk をインストールするコマンドはこちら

 adb install -r MyApp.apk

さくっとインストールできました

デバイスからAPKリンクをつつくなどでも良いのですが
開発者っぽい感じかつ、
ちょっと手元でAPKを試したい時の参考までに(^^)/