◆哀丁・四方山話 第10話
AndroidModeをVerUPしたら、エミュレータが起動できない
ジャンル・キーワード
- PROCESSING
- Windows 10
- Android Mode 4.01
結果は・・・・全力回避 εεεεεヾ(*´・ω・`)ノ トンズラッ
何が起こったの?
PROCESSINGというプログラミング言語があります。
マイナーな存在なので知らない人も多いかとは思いますが、Javaをベースにした言語で、ビジュアルなプログラムが簡単に作成できる便利な子です。
PROCESSINGの素晴らしいところは、(ほとんど同じプログラムを)PC上だけでなく、ブラウザーやAndroid端末で動かすことができる所です。
Android端末で動作させるためには、PROCESSINGにAndroidModeと呼ばれるプラグインを追加するのですが、これが結構曲者で、すぐにご機嫌を損ねやがります。
今回、利用しているAndroidModeが4.0.0から4.01にバージョンUPしたので、使ってみたのですが、たったコンマ0.01のバージョンUPのくせに、不具合?が出てしまいました。
なんと、PROCESSINGの標準エディタ経由でAndroidエミュレータが起動しないのです・・・。
え~、どうして・・・・。Ver4.0.0の時は元気に動いていたのに・・・何故??。
正確にはエミュレータを起動すると、仮想端末が起動しGoogleのロゴ(色が跳ね回るやつ)までは表示するのですが、そこでダンマリになります。
エミュレータを強制停止して再度実行すると、こんどは真っ黒な画面の仮想端末が起動したままウンともスンとも言わず、そのまま下記のようなエラーメッセージが、PROCESSINGの標準エディタのコンソールに表示されます。
ネットの海をさまようも・・・コレだ!という解決策は見つかりません。Intelのエミュレータ(HAXM)をバージョンUPしたりもしましたが、現象変わらず( ´Д` )。
まぁ元々、PROCESSINGの標準エディタ経由で起動するAndroid端末のエミュレータはいろいろと使い勝手が悪いので、あまり使っていなかったのですが・・・、なんか悔しいですね(泣)。
結論
しょうがないので回避策を編み出しました(笑)。
回避策は3つ。どれも自己責任となりますが、同じ問題でお困りの方は試してみると幸せになれるかもしれません。
- AndroidModeが利用するエミュレータをダウングレードする
- AndroidModeが利用するSDKを標準品にする
- 標準エディタは捨てる(笑)
エミュレータをダウングレードする
バージョンUPしたら(それまで動いていた)エミュレータが動かないのだから、元に戻せばいいんじゃね?という発想で、AndroidMode4.01が利用するエミュレータを4.00のものにダウングレードしました。
上手くいきました(笑)。ええ。どや!って事で、回避できます。
手順は以下の通りです(あくまで無理やりな回避手段なので、試す時は自己責任でお願いします)
なお以下の説明は、スケッチ格納パスが「C:\processing-3.3.7\src」である事を前提に記述してあります。このパスはみなさんの環境に応じて適時読み換えて下さい。
1.AndroidModeの仮想端末を削除する
スケッチ格納フォルダ配下のandroidフォルダに移動します。
移動すると上記のように sdk と avd というフォルダがあると思いますので、avdフォルダの中にあるprocessing-phoneフォルダを、フォルダごと消去します。
このフォルダは、AndroidModeが使う仮想端末イメージですが、消してしまっても、再実行時に自動作成されるので問題ありません。
2.AndroidModeのemulatorを置き換える
続いて、sdkフォルダの中に移動します。
下記のようにemulatorという名前のフォルダがあると思いますので、これを削除(またはリネーム)します。
その後AndroidMode4.00が利用している emulator フォルダを、ここに複写します。
え、4.00の emulator はどこから入手するのか・・・ですか?。
そうですよね。そんな方の為に、少しサイズが大きいですが、下記から 4.00のエミュレータをダウンロードできるようにしておきましたので、ご利用下さい。
AndroidMode4.0.0のエミュレータです。AndroidMode4.0.1のエミュレータが動作しない場合に限り、自己責任でご利用下さい。
3.ソース(スケッチ)格納フォルダに移動します。
実行用のソースファイルが格納されてるフォルダ(例:D:\processing-3.3.7\src\sketch_180527b)に、codeとAndroidManifest.xml というフォルダがあると思いますので、これも削除します。
これでOKです。あとは標準エディタで プログラム(上記例であれば、sketch_180527b.pde)を読み込んで、エミュレータで実行してください。
SDKを標準品にする
ま、こちらの方が正しい?回避手段ですかね。
AndroidMode経由でダウンロードするSDKが使えないなら、Google先生の標準品を使ってしまえという発想です。
そのためには事前にAndroidStudioをインストールし、AndroidStudio経由でSDKをダウンロードしておく必要があります。
そして、以下の手順でPROCESSINGのAndroidModeが使うSDKのパスを書き換えます。
1.AndroidModeのSDKパスを無効化する
スケッチ格納フォルダ配下のandroidフォルダに移動します。
移動すると上記のように sdk と avd というフォルダがあると思いますので、sdkフォルダをフォルダごと消去するかリネームします。
2.AndroidModeが利用するSDKを指定
標準エディタ経由でAndroidModeを起動します。
以下のようなダイアログBOXが表示されたら、右下の「Locate SDK path manually」を選択します。
以下のような画面が表示されると思いますので、AndroidStudio経由でダウンロードしたSDKのパスを選択します。
AndroidStudio経由でダウンロードしたSDKには、Android8.0(Oreo)のイメージが含まれている必要があります。
最新版(2018/05)のSDKには、最初はAndroid8.0(Oreo)が含まれていないので注意してください。その場合は、Android8.0(Oreo)のイメージをAndroidStudio経由でダウンロードしてくださいね。
8.0が含まれていないSDKを指定すると、パス選択時に以下のようなエラーとなります。
素直にAndroidStudioを使う
標準エディタは捨てる・・・って事ですね。
Google先生もAndroidStudioを推奨していますので、素直に長いものに巻かれてみましょう(笑)。
AndroidStudioでPROCESSINGのAndroidModeを利用するには、以下の記事を参照してください。
Android Studioで開発するには(AndroidMode編)
わかった事
今回は全力回避を決め込んだので、真の原因はわかりませんでした(´・д・`)。
とりえず動くことが最優先でした。
AndroidModeは変更が頻繁に行われていますから、そのうち本家の方で解消される事を祈りましょう。
参考にさせて頂いたサイト様など
哀丁・四方山話一覧 へ戻る
(画像URL:illust-AC 様:wayo さん、acworks さん Free icons 様)