FC2ブログ

スマフォのアプリを作りたい(1):環境づくりで迷走

   プログラミング [2019/12/20]
おまんまのタネも・・・な感じだし、そろそろ定年も遠くないし、
後々のことも考えて何か新しいスキル?も身に着けておいた方がようかろうと思ってます。

ひとつは、「人生の楽園」を目指した畑づくり。
ひとつは、農閑期の暇つぶしの編み編みの再開&グレードアップ
さらに、せっかく専門職的なおまんまのタネをしてきたのだからそれも少し拡張させておく。
面白そうだし。

というわけで3つ目のこと。

◆やりたいこと
Android上で動作するアプリを作成する。
アプリは、まあ、「:スタンドアロン音声認識。通信機能(tcp/ip http)も使う。httpサーバとのファイル交換、音声認識クラウドアクセスも行う。」的な。
スマフォのアプリを作ったことはありません。ど素人です。

◆開発環境と言語の選択
使っているPC/タブレットPCにVisualStudio2017とEclipseが入っている。
HDDの残り容量も余りないので新たなIDEを追加インストールする余裕はない。

どっちにするか悩んだが、問題が起きたときに容易に解決策が拾えそうなVisualStudioを選択。
Eclipse側は、ぴったり来る事例の検索が大変で、さる的にはついていけない解説や選択肢が多くて無駄足を踏むことが多い印象。
使い易いのはEclipseな感じだけど・・・。

早速、「VisualStudio2017 Adndoid開発環境追加」でぐぐると、以下のサイトにぶち当たる。
https://docs.microsoft.com/ja-jp/visualstudio/cross-platform/cross-platform-mobile-development-in-visual-studio?view=vs-2019
「VisualStudio2019の説明サイトのようだが、同じ様なもんだろう。」との予測。
いくつかの開発対象:クロスプラットフォーム向けの開発環境について、概要が説明されている。
トップに「Android、iOS、および Windows 用のアプリ」というのが載っていて、ソソられたが、Xamarinという名前の新規の環境?が必要そうで、
かつC#(未経験)での開発になりそうだったことと、ソースの無変更の流用率が「75%」くらいという記述もあったので、今回は保留。
その下に、Android および Windows 用のアプリ(C++)というのが載っていた。
それにしよう。

※「VisualStudio2017 Android 開発環境」で検索すると、2/3の割合でXamarin上の開発環境導入手順の説明サイトに当たるので、注意しましょう。
「VisualStudio2017 Android NDK 開発環境」だと、今回の条件に合うサイトが多めに検索される。
not Xamarin環境(C++/Android NDK)は以下のサイトを参考に行った。
http://yutawatanabe.hatenablog.com/entry/visual-studio-cpp-android-nadk

さて、その結果は・・・



以降、図の表示が小さくて見えない場合は、クリックすると文字が見える程度の画像で表示すると思います。

◆VisualStudio2017環境の更新
そもそも必要な開発コンポーネントが既に入っているのかも記憶にない。
その場合もとにかく、VisualStudio Installerを起動するものらしい。

[スタート田]-[VisualStudio Installer]を起動してみた。
最初にInstaller自体を更新しろと出た。
指示に従って続行すると、最初に出た画面に2017と2019にそれぞれ[インストール]というボタン付きのメニューが出た。
ワークロードの構成の更新をするような選択肢がない。???

仕方ないので[インストール]をクリックして先に進んでみようとしたら、いきなり「ダウンロード中」のようなメッセージが表示された。
「えっ、アップデートしちゃうの?」と思って慌てて[一時停止]ボタンを押してみたら以下の状態に。
20191220_1.jpg

[変更]ボタンが出たのでクリックしてみたら以下のウィンドウが表示されます。
20191220_2.jpg


既にインストール済みのワークロードにチェックが入っていた。(C++とPythonのみ)
※インストールの選択肢の大枠のことを「ワークロード」と呼ぶらしい。
「Visual C++ for Cross-Platform Mobile Development」にチェックを入れてみた。
「ユニバーサルWindows・・・」をチェックすると、前出のXamarineも含まれてそうだったのでそれもチェックしてみた。

[変更]ボタンをクリックすると、ディスク容量に関する警告が出た。・・・どうも入らないのかな?
[戻る]ボタンは無かったので、一回続行させてから再度[一時停止]して、[変更]ボタンをもう一回押す。
元の構成の状態になってた。

右下[変更]ボタンの上を見ると必要なディスク容量が出ている。
容量Cドライブの空きを確認してから、再度追加したいワークロードのチェックを入れていくと、差分的に入らない容量になる。
「ユニバーサル・・・」を入れるのはあきらめた。
さらに、「「Visual C++ for Cross-・・・」を選択したときに、右側に出るリストで、その詳細項目が選べるようになってた。
ただし、最小限っぽい内容。iOSのSDKとかは非チェック。
さらに気になったのが、「Android NDK R15C」がデフォルトでチェックされているのだが、その下に「Android NDK R15C(32bit)」というのもある。
・・・何が違うんだろうか。32bitCPU用?
さすがにAndoroid:ARMコアCPUだろうけど、16bitってことはないよなーと思いつつ。
今回テスト対象にしよとしているスマフォのスペックを確認した。Andoroid4.0でCPUコアはARM7らしい。
安全のため「・・・(32bit)」も入れようかとチェックしてみたら結構大きく容量が変化する。
なので、不安を抱えながら「・・・(32bit)」は止めて、デフォルトのままインストールを開始した。

無事に終わったのかな?


◆プロジェクトの新規作成とビルド
VisualStudio2017を起動しする。
1)メニュー[ファイル]-[新規作成]-[プロジェクト]を選択
2)ダイアログ左側のメニューから「Templetes」-「Visual C++」-「Cross Platform」を選択
3)プロジェクト名を指定する

スタブというか、コアな処理が入ってそうなソースが作成された。
20191220_3.jpg

何も考えてないから、まずは何もせずにビルドしてみます。
「ビルド: 2 正常終了、0 失敗、0 更新不要、0 スキップ」と出た。ビルドは成功したようだ。

プロジェクトを作成した段階で、ソリューション・エクスプローラーには
「xxxxx.NativeActivity(android-xx)」と「xxxxx.Packaging」と二つの項目が表示されている。
プロジェクトを格納しているフォルダには同名のサブフォルダが作られていた。
NaviveActivityにはソースが含まれていて、ビルドするとそのサブフォルダに.soファイルが作成される。
(さるの認識では、.soはLinux系の実行形式ファイル。)
一方の、Packagingフォルダをビルド後にまさぐると、.apkというファイルが作られている。
これが、「Androidアプリのパッケージ」だそうだ。インストールするときの形式かと思う。

◆ビルド結果の実行
さるはバカだから、まずはどうなるのかすぐ実行してみます。

以下のようなメッセージが続けて出ました。
20191220_4.jpg

20191220_5.jpg

早い話が、動作させる先がないよと言っているのかと思います。
そりゃそうですよね。

VisualStudioの画面の上部にこんな表示がされてます。
20191220_6.jpg

「x86」というのもなんですが、その右に対象のデバイスがないよと出てます。

ここで、テスト用に準備したスマフォを接続してみることに。
まずは、スマフォの情報
富士通 ARROWS Me F-11D
CPU :MSM8255(Qualcomm Snapdragon S2シリーズ、ARMアーキテクチャ)
OS :Android 4.0 ・・・APIレベル15


取り合えず、
1)Android スマフォ側の設定で「開発者モード」に設定します
ARROWS Meの場合、画面下の●が4つ並んでるアイコン-「設定」カテゴリの「設定」-「{}開発者向けオプション」-[USBデバッグ]をチェックしたらなった。

2)USBで開発用PCに接続します
何も反応しません。当然です。
スマフォ接続用のドライバが必要だからです。
ドライバは、「ADBドライバ」と呼ばれるそうで、スマフォのメーカーサイトからダウンロードできるようです。

3)スマフォ用のADBドライバをPCにダウンロード&インストールする
スマフォ(USB)を繋ぎなおすと、「使用可能なデバイスが存在しません。」が機種名に変わります。

4)対象CPUを「x86」から「ARM」に変更

5)VS2017上でNativeActivityで、対象スマフォのAndroid-APIのレベルを設定します
ソリューション・エクスプローラー上に表示されている「xxxxx.NativeActivity(android-xx)」を右クリックして、表示されるプルダウンの一番下の「プロパティ」を選択します。

20191220_7.jpg

「ターゲットAPIレベル」の右端の[v]をクリックすると、APIレベルの種類がプルダウンされます。
20191220_8.jpg


※参考までに、Packaging側のプロパティも見てみました。
20191220_9.jpg
あれ?こっちにも「ターゲットAPIレベル」という項目がある。
プルダウンしてみると・・・

がーん。レベル15という項目はない。というか19以上しかない。
そう言われてみると、確かデバッグでサポートされているAPIレベルの制限があるとどっかに書いてありました。
まさかとは思ってましたがやっぱりですか。
(T^T)せっかくスマフォ買ったのに・・・これじゃ動かないよね、たぶん。

ともかく、
6)ビルドします
ビルドは正常に終了した。

7)デバッグ実行
メニューの「デバッグ」-「デバッグ実行」を選択したら、以下のエラー。
20191220_10.jpg

はいはい。

◆エミュレータの追加インストールから挫折へ
では、実機での動作確認は諦めて、エミュレータで動作させてみよう。
エミュレータが使える場合は、VisualStudioの対象CPUの指定の右側のデバイス/機種名が表示された部分に選択肢としてエミュレータの名前が表示されるらしいが、そんなものはない。
インストールが必要そうです。
前出の参考サイトの関連サイトに説明がありました。
http://yutawatanabe.hatenablog.com/entry/visual-studio-emulator-for-android

再度、VisualStudio Installerを起動して、ワークロード選択画面を表示します。
「Visual C++ for Cross-・・・」を選択して右側の「オプション」項目を見ると、
「Google Android Emulator APIレベル23(・・・」とか書いてあります。
それをチェックすると、その下の「Intel Hardware Accelerated ・・・」というのにも自動的にチェックが入ります。
そうすると、必要な構成の合計サイズに19.xGBと表示されて、警告マークが付きました。

もうディスクの容量がないので入らないってことですよね。
路頭に迷いました。
・・・前出のサイトを改めてみると、「Visual Studio Emulator for Android」という名前のものと「Google・・・」と2種類あるのかな?
さらに、追加でダウンロード&インストールできるとある。
サイトへのリンクをクリックしてみましたが、NOT FOUNDでした。

本家のサイトをまさぐると、
https://docs.microsoft.com/ja-jp/visualstudio/cross-platform/visual-studio-emulator-for-android?view=vs-2019
https://docs.microsoft.com/ja-jp/visualstudio/cross-platform/system-requirements-for-the-visual-studio-emulator-for-android?view=vs-2019
VisualStudio2015以降、「Visual Studio Emulator for Android」はサポートされてなくて、
かつ要件としてRAMが6GB必要だとのこと。

手持ちのPCでは、使えないんじゃん。

ってことは、選択肢は「Google Android Emulator APIレベル23(・・・」しかない?
色々ぐぐってみたけど、Androidエミュレータは数々あるようですが、VS2017とリンクしてデバッグに使えるという記述は見付けられませんでした。

そういうわけで、その他の何かをアンインストールか他ドライブに移すかしないとの結論に達しました。

◆ディスクスペースの拡張&結局挫折
結論から先に言えば、ディスクスペースの拡張を狙って、使ってたタブレットに入ってたEclipse環境を丸ごと削除しましたが、それでも、容量は不足です。

もう1台のノートPCは、NDK+エミュレーターの環境だったら何とか入りました。


ただし、ここで力尽きました。
でかいノートなので、持ち運びには向きません。
「好きな時間(暇なとき)にちょこまか開発してみる」というのができない。

なので萎えてしまって、その後1か月(他のことが忙しかったせいもあるが、)PCにぶち込んだ環境は触らなかった。
ディスクの空きが十分ある人は、そのまま続けてもいいんでしょうけどね。

では、この回はこの辺で。
m(__)m
スポンサーサイト





コメントの投稿

非公開コメント

カレンダー
01 | 2024/02 | 03
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 - -
プロフィール

さるもすなる

Author:さるもすなる
さるです。別HPサイト「さるもすなる」から侵食してきました。 山菜/きのこ、それとタイトルにしたPPバンド籠のことをメインに徒然に・・・・暇を持て余したさるの手仕事:男手芸のブログってことで。

最新記事
最新コメント
月別アーカイブ
カテゴリ
天気予報

-天気予報コム- -FC2-
本家のHPのトップ
山菜や茸の話です
PPバンドの籠作品と作り方です
投稿をお待ちしております



PVアクセスランキング にほんブログ村 にほんブログ村 ハンドメイドブログへ



マニュアルのお申し込み



検索フォーム
リンク
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR