2021年11月18日木曜日

七転八倒

いつもタイトル通りのような気がしますが、一時期まともにビルドできなかったAndroidStudio(DEV版ですが)がようやくまともにビルドできるようになった感じなので使用しているアプリから順にビルドし直していたりします。

Googleさんからちょくちょくとポリシー変更なりなんなりのメールが来てはいたのですが、先日、軒並み公開中のアプリがストアから削除されたという報告メールが多数送られてくるという事態に。

きっかけと思われるのは、あるアプリのレビューがとてつもなく幼稚なレビューが書き込まれることが目についたので、対象年齢を18歳以上としたことが原因なんだと思います。

ほかのアプリは特に対象年齢は指定していなかったのですが、おそらく中の人かAIがほかのアプリも対象年齢をごまかしているに違いないという憶測で一気にストア上から排除したんだと思います。

基本的にレビューに対して直接返信することはしないようにしていたりします。理由は単純でうまく意思の疎通が取れるとは思えないからということ。ですが、結構レビューはちゃんと見てたりします。全く知らない言語で書かれていても翻訳してなんとか意味を汲み取ったりしていますが、言葉の壁は厚いw

しかしながら、どうしょもないようなレビューで★☆☆☆☆とか連発されると慣れたとはいえ精神衛生上よろしくないので、なにか対抗手段はないものかと思いついたのが年齢制限。意味はなさそうですが(笑)

そんなこともあり、リビルドせにゃいかんと思ってはいたので時間ができたときに気を改めてAndroidStudioのアップデートを行ったところリリース版ではうまくゆかず。新規プロジェクトを作っても一回目のビルドは通るのに二回目から失敗するとか意味わからん。

直接的な原因はgradleのテンポラリだかキャッシュだかのフォルダを手で削除すればビルドは通った(メッセージを見るとどうもマージがうまくできていないようでした)のですが、なんか気持ち悪すぎるのであきらめてDEV版を使って試したところ、ようやくまともにビルドが通るようになりました。なんていうか、AndroidStudioのビルド動作ってgradleのバージョンが上がりすぎてついていけてない感じになっててかなり面倒なんですよね。

ビルドが通るようになったので、gradleの書き換えやらリポジトリ変更に伴う書き換えやら、SDKのバージョンアップに伴うライブラリやアーティファクトの書き換えやらを半ば機械的に行いながら作業を行っていました。

そして地道に作業を進めていたのですが、ここ数日でドはまりしていたのがSSID Widgetです。とりあえずSDK31でビルドが通るようにしようとしていたのですが、ビルド後の動作がうまく動かず何が原因かわからず丸2日ほど途方に暮れ、仕方なしにSDKバージョンを下げて動作するかどうか確かめることにしました。

ちなみに手元にあるデバイスはAndroid10なのでSDKは29です。

Wifiの扱い方が大きく変わるのがSDK31からっぽいのですが、それまでにも権限周りの扱い方がSDK26(Oreo)から変わっていてかなり面倒になってはいました。その後は、そんな変わっていないだろうと見ない振りをしていました。しかし、細かいところでさらに面倒なことになっていたようで…

ACCESS_BACKGROUND_LOCATIONなんて知るか!しかもWIFI関連でFINEロケーションが必要とか聞いてないですw

https://developer.android.com/training/location/permissions?hl=ja#request-background-location

ただのアクティビティーならもうちょい楽だったのにねぇ。

動作させてみていると、何かのきっかけでまれにSSIDが表示されることがあったんです。もうね、何が原因なのか見当もつかずで。

で、SDK29でとりあえず満足することにして、一旦SDK31ベースに追加したコードは捨てることに(31用に追加しなければいけないコードがあって面倒だったんですが、見通しが悪くなりすぎるのと、ビルドも通らなくなるので(笑))。さらに全体的な動作を見直し、動作確認していると、権限を変更すると動作が不安定になったり、サービス自体が消えたままとなってしましました。

一部はコードに原因があったりしましたが、助長な部分を削ったり、怪しいところは片っ端からデバッグログを入れたりして様子を見ていましたが、どうも権限を変更するとサービスの動作があまり安定しないことがわかりました。

マイクロソフトやASUSのメールアプリで挙動不審というか、メール受信がしなくなることがあったのですが、原因はきっとAndroidのサービスの扱い方が雑というところなんでしょう。単純に思いつくのは、適当なタイミングでサービスの動作チェックをする必要がありそうだということ。Androidって結構こんな感じがします。そもそもプロセスなども強制終了させて起動し直せばいいでしょ適な発想が主体だし。クソ仕様ですがw

で、Widgetでそこまでするか?

ストアで公開すると結構文句言われそうですけど、とりあえずする気はないw実用的に問題なさそうだしw

通常アクティビティーがあるアプリなら、権限許可を得るためにダイアログを表示させて、許可されたタイミングで処理が行えるのですが、Serviceなんてそんなダイアログ開けませんし、最悪アプリの詳細から設定したり、権限管理系の設定画面で許可されたりするので何とかできないか調べましたが、使えそうなブロードキャストは無さそうでした。

そもそも権限が変更されるとどうなるの?ってことで触ってみて実感したのは、

権限を新たに許可した場合、そのまま。

許可された権限を取り消した場合、実行中のアプリはリスタートされる。バックグラウンドのServiceは一定時間経過後に強制終了され、直後にStartされる。もしかすると終了させられることを通知するintentか何かを受け取っているのかもしれないけど…どうなんだろう?

権限を取り消したり、許可したり少し雑にちょこちょこ切り替えてみると、アプリが落ちたままとなってしましました。

色々触ってみた結果、権限関連以外はまともに動いてそうなので、とりあえず一段落かな?

2021年11月10日水曜日

富士通の

 昨日まとめ系で見かけたツイートで、推奨パソコンがwikipediaを開くだけでCPU使用率が100%のままとなっているというのを見かけた。

【悲報】文科省推奨スペックの富士通製パソコン、WikipediaでCPU使用率100%にwwwwww

実際のツイートでは店頭でwikipediaのページを開いてタスクマネージャーのパフォーマンスタブページを開いている様子の写真が写されていた。

 

で、じっさいに手元のネットブックで開いてみました。最初はFirefoxで開いて、Edgeでも開いて様子を見てみました。

似たようなスペックなので数秒CPUリソースを使い果たしていましたが、その程度です。(メモリが減っているところ(グラフの中央当たり)でEdge以外のアプリを終了させたところで、CPU使用率が跳ね上がっている山はEdgeの起動、ようこそページの表示、Wikipediaの表示のタイミングになっていると思います。CPUの動作クロックは、通常1.1GHz程度でフルパワー時は2.4GHzとか2.5GHzぐらいまでクロックが上がると思います。)

明らかにおかしいのは、ツイートの写真ではハンドル数が異様に多いということでした。

気になったので手持ちのほかのWindowsでも確認してみましたが、どれも似たり寄ったりでした。桁が違うというのはどういうことなのでしょうね。

手持ちは64bitばかりなので、32bit版とは使用メモリなどは差が出ますが、ハンドル数はあまり変わらないとおもいます。

ツイートのレスにも書かれていましたが、富士通のPCには「いつもアシストふくまろ」と言うアシスタントアプリが入っているそうで、これがその原因なのかとも思われますが、これだけでそこまで重くなるような代物なのか?と言う感じがします。

一番ありえそうなのは、Windowsのメンテナンス系のサービスが起動してそれが止まらなくなっているのか?

ちょっと気になったのでメモ書き。

2021年10月31日日曜日

投票先がない

小選挙区の投票先がなさすぎる。

民主党政権時に勝たせ過ぎたためにものすごいアホな政権が出来上がってしまったことは、記憶に新しく残り続けている。まぁそれだけその時の自民党がダメダメだったのだが。

今ではその残党も統廃合が行われ、イメージとしては自民党からはみ出た政治屋組合というイメージしかない。

今の自民党政権も、正直勝たせ過ぎててマジで滅茶苦茶なことばかりやっていると思う。でも、ほかの政党は日本を導くことなんて絶対できない。できるはずがない。

そんなわけで、いまは政治屋さんが多すぎるのでまともな社会にはならないだろうという絶望感しかないのだが、投票に行けるときは行っておかねばと。

いざ地区の候補者リストをながめると、

自民党、共産党、立憲民主党

3党の候補者しかいない。そういえば共産党と立憲民主党って野党連合とか言って小選挙区での対立候補は無くすとか言っていたような?共産党と立憲民主党が連合を組めるほど主張があっているはずはないという違和感しかなかったので記憶に残っている。でもやっぱり対立させるんだねぇ…というより立憲民主党は何でもありなんだろうなと感じる。

早いうちに投票を済ませようと思っていたものの、結局先週の市長選挙と同じぐらいの時間になってしまった。

外に出ると小雨が降っていたのか、地面が濡れてて、行く途中でもすこし雨がぱらついていた。そのおかげか投票所で並ぶこともなく受付を行って投票を済ますことができた。

行く前は白票で裁判官も全部に×をつけてやろうとか考えていたが、そんなことはしなかった。なんか裁判官のリストが多い気がしたのだが。そもそもこの制度で罷免される可能性はほぼない。前例もないんじゃないか?投票の50%以上の場合に罷免されるというこんな制度は明らかにただの詭弁としか思えない。

逆に信任投票形式なら、落とされまくると思う。いなくなっては困るのだから、信任投票形式で、信任する場合に〇を書かせ、上位何名とか下位何名かは罷免されるとかいう形式でもいいような気がするが、まぁそんなんで最高裁判官が居てもまずいと感じる。

結局ただ文句を言いたい奴に言わせて黙らせるために考えられた制度なんだろう。よくできると思う。

選挙制度に関しては色々と思惑がありすぎて結果的に強者が優遇されているだけだし、なんとも言い難い。まぁぶっちゃけ、どの政党が政権とろうが、どんな奴が議員になろうが、何も変わらんとおもう。外交政策なんかはすごい大事だと思うんだけど、結局は利権ばかりだし。まぁ絶望しかない。

2021年10月18日月曜日

Bluetooth復活!

WindowsUpdateでベースシステムの更新があったので、Bluetoothの接続を確認してみました。

接続試行中の後にIntelから古いWifiやBluetoothのドライバをインストールとアンインストールを繰り返し、セットアップ時に完全モードでインストールしてみたりと色々試行錯誤してみましたが、最善の状態でもペアリングまではできるものの動作しませんでした。

WindowsUpdateがあったので問題のあったノートの更新も行ったところようやくBluetoothがまともに機能しました。やはり問題はWindowsUpdateだったようです。

.NETの更新もありましたが、おそらく

2021-10 x64 ベースシステム用 Windows10 Version 21H1の累積更新プログラム(KB5006670)

の更新でまともになったと思われます。

ということは原因は、KB4023057かKB5005565の更新後にIntelの最新ドライバ(Windows11対応の為にアップデートされたもの)が原因でおかしくなってしまったと思われます。

Intelのドライバの更新を行わずに放置していたものは問題なく機能していました。KB5006670のアップデート後、Intelのドライバの更新を行っても問題は発生しませんでした。


今回の教訓「問題がないならドライバの更新は行うべからず」

2021年10月6日水曜日

接続試行中

この前使っていてbluetoothマウスの接続が一時的に切れるようになったと感じていたが、インテルドライバーサポート・アシスタントがドライバーの更新を促してきたので、インストールしたところマウスが反応しなくなってしまった。

PC上からは接続されているように見えていたので、接続中のペアリング状態にあるマウスを削除し、再度ペアリングしようとしたところペアリングできなくなってしまった。

症状としてはタスクトレイのBluetoothアイコンからBluetoothデバイスの追加を選択し、表示される設定画面のBluetoothまたはその他のデバイスを追加するを押して、Bluetoothを選択し「デバイスを追加する」ウィンドウが表示された後、Bluetoothマウスのペアリングボタンを押し、ペアリング状態にすることで、一覧に追加したいBluetoothマウスが表示される。

ここまでは問題ないのだが、実際にペアリングしようとマウスを選択すると、接続試行中と表示された後、しばらくたっても接続完了にならず、挙句の果てに「もう一度デバイスを接続してください」と表示されるだけで、ペアリングが成功しない状況に。

繰り返すと、ペアリングしたいBluetoothマウスが一覧から消えたままとなったり、状況は悪化の一歩を辿ることに。

Bluetoothマウスの電池の低下を疑い、別の電池に交換しても状況は変わらず。

念のために、別のWindowsPCでBluetoothの接続を行ったところ問題なく接続できました。この試したPCのデバイスドライバの更新やWindowsUpdateは怖くて行えませんw

システム復元で何回か過去に遡って行ったんですが、Bluetoothの状態は改善できず。ドライバを削除し、再認識させてドライバをインストールしなおしてもダメ。とどめでもう一度インテルドライバサポートからインストール時にインストールタイプを「完全」で行ってもダメ。

Windows10で追加された設定からではなく、まだ削除されていないコントロールパネルベースの接続画面を使っても変化はありませんでした(というより、マウスの表示が消えまくるので、こちらのほうがかなり手間がかかりました。)

藁にも縋る思いで、トラブルシューティングも行ってみたものの、

なにかやってる振りをしていますが、全く変わらず。

検索しても、これといったヒントも得られることもなく、とりあえずマウスなしで操作することに。

Windows11にアップデートしちゃおうかと思ったんですが、Insiderに登録していないので、まだ無理でした。

WindowsUpdateでプリンターがーとかチラホラ書き込みを見かけていたのですが、ここにきてまさかBluetootがやられるとは…

原因となりそうなポイントの断定までには至らず。お手上げです。


> Bluetooth復活!10月のWindowsUpdateで解決した模様