いつも何度でも
さて、前回、Android Studioが文句を言わずにプロジェクトを開くとこまでは行ったのですが何かおかしい。
一応、エミュレータも動いたようなのですが、白紙テンプレートページのせいなのか別の原因なのかわからないですが、動作している気がしない。
久々に参考書籍("Ionicで作るモバイルアプリ制作入門[Angular版]"(ISBN978-4-86354-292-1))を読むと、色々手順に齟齬があった気も?
コマンド "ionic capacitor run android -l --address=0.0.0.0" を走らせると
メッセージ
------------------------------------------------------------
? Which device would you like to target?
------------------------------------------------------------
しかし、選択しろと言うけれど選択肢が無いんですよね。
何度か試した中には、TargetをAndoroidで登録できたこともある気がしますが、今はうまく行っていない。
ただ、それを抜きにしてもAndroid Studioでうまく扱えている気がしない。
完全な白紙テンプレートの時には、モジュールが見つからないという感じのエラーが、ゲームブック風のアプリのコードを組み込んだら出てきた気がします。(白紙以外を見たかった)
これは別ファイルにしたpage.json の影響な気がします。
そこで、page.json の中身を \src\app\home\home.page.ts に入れてみようと思います。
(少なくとも変数定義と言うなにがしかの経験にはなるはず)
ああでもないこうでもないといじった結果、 \src\app\home\home.page.ts 内でJSONを使う事には成功。
結構、大ごとでしたが^^;
まず、JSONの定義をしてやらないと受け入れてくれない(型定義と言ううようです)
そしてその場所は、@Componentより上でないとダメ。
実験のため、ごく簡単に定義したソースを下にコピーします。
------------------------------------------------------------
type pagefld = {
Text1: string
Text2: string
Text3: string
}
type PageNo = string
type pageset = {
PageNo: {pagefld}
}
//test
const PageData = {
"1":{Text1 : "aaa1", Text2:"bbb1", Text3:"cc1"},
"2":{Text1 : "aaa2", Text2:"bbb2", Text3:"cc2"},
"3":{Text1 : "aaa3", Text2:"bbb3", Text3:"cc3"}
};
@Component({ ← この部分より上に書く必要がある模様
------------------------------------------------------------
本体部分も、いじって、単に1ページ目を表示するだけですが動作は問題ない模様
さて、これをAndroid Studioに受け入れてもらいたいと思います。(ダメかも?)
まずビルド "ionic build --prod"
なんとなく予想してましたが、このコマンドを流すとプロジェクト直下の "\www" のデータを書き換えるようですね。
コマンド "npx cap sync android" で同期をとる(と良いような気がしてます)
コマンド "ionic cap open android" を実行で、AndroidStudio の起動
今気づきましたが、立ち上げ時に Event Log をはいてますね。
------------------------------------------------------------
15:02File pattern '*.psd' (from 'bundled' plugin) was reassigned to file type 'Adobe Photoshop' by 'Android' plugin
You can confirm or revert reassigning pattern '*.psd'
Confirm reassign this pattern to file type 'Adobe Photoshop'
Revert this pattern to file type 'Image'
Edit file type 'Image'
15:02File pattern '*.apk' (from 'bundled' plugin) was reassigned to file type 'APK' by 'Android' plugin
You can confirm or revert reassigning pattern '*.apk'
Confirm reassign this pattern to file type 'APK'
Revert this pattern to file type 'ARCHIVE'
Edit file type 'ARCHIVE'
------------------------------------------------------------
う~ん、とりあえず気にせず作業続行
しかし、Runしようにもデバイスが・・・とかエラー。
このまま、コマンドプロンプトからコマンド "ionic capacitor run android -l --address=0.0.0.0"を実行。
どうもうまく行かない気が・・・(それは抜きにしても、かなり重いです、AndroidStudio)
なんかイベントログをはいてるので貼り付け
------------------------------------------------------------
15:08Error running 'app': Module not specified
15:13Adb connection Error:既存の接続はリモート ホストに強制的に切断されました。
15:13Error running 'app': Module not specified
15:13Cannot reach ADB server, attempting to reconnect.
15:14* daemon not running; starting now at tcp:5037
15:14* daemon started successfully
------------------------------------------------------------
五里霧中と言う感じですが、File pattern '*.apk' (from 'bundled' plugin)が気になります。
おぼろげながらですが、これに関して変なやらかしをした気もしますので。
Android Studioの入れ直しも視野に入れるか検討しつつ、色々調べてきます。
2022年3月21日15時23分




