こんばんは、すんもです!
前回の一難と日々格闘しています。
あまりの情報の少なさに、マイクロソフトのホームページに記載されている手順を踏むしかなく、ただ、その手順を踏んでもエラーが出まくりで上手くいかないのが辛いところ。何か機械翻訳みたいだし。どうもまだ対応していない組み込みモジュールが多い様子。
埒があかんので、思い切って純正のAndroid Studioで作ってみることにしました。
そうなるとプログラミング言語が C# から java や kotlin に変換していかないといけません。
幸いにも過去になぞり消し支援の改善用に java で作ったアプリがあり、それに肉付けすることにしました。
ただ以前のプロジェクトをそのまま使おうとすると、意味不明なエラーがたくさん‥。解消方法が分かりませんでしたので、結局1からプロジェクトを作ることに。ソースはコピペ。
で、今のXamarin.Androidとソースを比較しながら、差分を変換しながら埋めるんですが、これがまたかなりのソース量を変換しないといけないことがやっていくうちに分かりました。
なんせ前回作ったところから2年近くの更新分を組み込むわけで、もうひたすらにパソコンと向き合うしかありませんでした。普段のスマホゲームも少しおざなりになりながらでした。
タッチ(ガチャ)支援モードなど、一部の動かなくてもメインの機能に影響ない機能を除いて、一通り動いたものを何とか作りました。
がしかし、いろいろな問題がでてくるんですよ。
①ソースの移行漏れ
→開発環境が整っていないのもあり、違う言語を左右に並べて1行1行見比べるわけですから時間と根気がいります。
②課金機能が正しく動作しない
→原因未だに不明。
とりあえず後で考えようと一旦後回し。
③非同期処理が期待通り動かせず、解析結果が正しく得られない。
→当初から解析に時間がかかるのは認識していたのですが、最初めちゃくちゃ解析が早くなったんです。ただしばらく使っていると、結果が得られないこともありました。非同期処理は重い処理を同期処理で動かすと画面が固まり、操作できなくなりますので、それを防ぐために画面の裏側で非同期に処理をすることです。
どうもこの非同期処理が完了する前に結果を参照しているようで、その結果、正しい解析結果が出る前に画面に結果を表示しようとして、処理が早く見えたり、結果が正しくないという状態になったようです。
とりあえず、上記それぞれに対応するも、多重度など、まだ正しく動かない部分もあり、まだまだ問題山積で頭を悩まされました。
前回の記事から約3ヶ月が経ちました。
もしかしたらマイクロソフト側のVisual Studioの方で何か修正など入っていないか再度確認してみました。というのは.NET8が正式リリースされたからです。つまり、Androidでいうと最新OSの14に対応したものです。
気分転換に1からプロジェクトを作って、マイクロソフトのホームページの手順のとおり、過去のXamarinのソースをコピーしていきました。
一部ソースの変更は発生しましたが、エラーがかなり少なくなりました!これは期待できるかもとエラー根絶に向けて対応していくと、ついに動きました!!ソースの中身は以前のほぼそのままでした!
まだ詳しく確認してませんが、設定画面以外は上手く動いています!多分こっちも単純な問題かと思っています。
というわけで、やっぱり慣れ親しんだマイクロソフトの方に戻りたいと思います。
これで今後のOSサポートにも安泰かな‥。
あと残るは、設定画面の確認とGoogleへのアップロードや審査後にリリースができるのかの確認作業が残っています。
前回から毎週週末はパソコンと向き合う時間が多くなり、頭も使うので、平日、週末と時間がなく疲労もたまり気味です。なので、上のタスクはゆっくり、おいおいやっていきます。
以上!
ふと、気がついたところで、こちらのブログへのログインは少ないので、今日気がついたのですか、「いいね」が思ったよりたくさん付いてて、気が付いたとき、みんな見てくれて応援してくれてるんだなぁと、ちょっと嬉しかったです
そんな方のためにも!このままリリースできるように対応していきたいと思います!