飴屋

開発日記

2021/9/11

スマホをだいぶ機種変してないな、って思ってはいたのですが、端末は気に入ってたし、不自由な点もなかったので、ついつい新しいものを用意しないで生きてきたのですが、先日、バッテリーがモリモリと盛り上がってきて、裏ブタがパンパンになってしまったことをきっかけに新調しました。やはり新しいものはジワジワとよくなってきているのですね、と感心しながら使っているのですが、自作のアプリに動作がおかしい点がみつかりました。

古い端末ではちゃんと動いているので、多分、OSのバージョン起因の問題だろうなと、目星をつけました。で、とりあえず新端末でデバッグしてみようとしたら、新端末とPCをつなぐUSBケーブルがありません。古い端末と仲良くし過ぎてUSB-C規格の準備が不十分でした。しかし、Androidはバージョン11からワイヤレスでデバッグできると聞いていたので、それを試してみました。なにこれ、すごい便利!

ちゃんとadb pair コマンドでペアリングされて、adb connect コマンドで開発機とスマホがつながったので、ログを眺めていたら

java.io.IOException: Cleartext HTTP traffic to ***.***.***.*** not permitted

という例外を吐いていました。これはAndroidのAPI28からhttpプロトコルでの通信が原則カットされたのが理由で起こる例外だそうです。対策としてはAndroidManifestでそれをオプトインするだけでよいようです。

android:usesCleartextTraffic="true"

http通信自体にはセキュリティ面での心配がありますが、今回の通信は使っているネットワーク内で完結するものなので、問題にはならなそうに思っています。API側での仕様変更に気が付かないというのも怖いので、機種変の頻度はもう少し上げないとかな?

2021/5/29

以前、レンタルサーバーにmecabを設置していたのですが、いつの日にか正常に動かなくなっていることに気が付きました。設置したのが2018年で止まったのが、その数か月後だったっぽい。原因を調べてたんですが、最終的にサーバー屋さんがサーバーの設定を変えたか、サーバーをリプレースするかした際にパスに変更が加わったのではないかと考えが至りました。

とりあえずmecabをインストールしなおしてみて、それだけではダメだったので、mecab-perl(Perl用の拡張)も2018年の日記を見ながら入れなおしたら直りました。

将来的に頻繁にこれが起こるのであれば、レンタルサーバーでの運用は向いてないのかもな、と思いつつ、とりあえず様子見の構えです。(そして忘れる)

2021/4/17

コード上でGoogleCast(ChromeCast)とセッションを持つとき以下のようにせよと書いてあった。

Intent castIntent = new Intent();
castIntent.putExtra("CAST_INTENT_TO_CAST_ROUTE_ID_KEY", routeId);
castIntent.putExtra("CAST_INTENT_TO_CAST_DEVICE_NAME_KEY", routeName);
sessionManager.startSession(castIntent);

だけどセッションが張れなかった・・・。CAST_INTENT_TO_CAST_ROUTE_ID_KEYのところにCastデバイスのIDを渡せってことだったので、

mediaRouter_routeInfo.getId().replaceFirst("^.*:","");

MediaRouter.getRoutes()から必要なRouteInfoを選んで、getIdで得た情報から余計な情報を抜いて、32桁くらいのIDを渡していたのですが、余計なことはせず、getIdで得た情報をそのまま渡すのでよかったようです。余計なことに気をまわしてしまった。

2021/2/28

長いことノートパソコンを買い替えてなくて、ストレージやバッテリーを換装しながら使っています。古いですが、日常の使用には問題も特になくて、何よりデザインコンセプトが気に入っていて、同メーカーから似たような新作が出ても買い替えに至ってない状況です。先日も久しぶりに裏ブタをあけてバッテリーを交換して様子をみていたのですが、三日前くらいからACアダプターについているLEDがみたことのない状況になりました。(二色交互に点滅)バッテリーは充電率96%と表示されていますが、いつまで経っても96%のまま増えも減りもしない無限バッテリー状態です。

最初は猫にコードを噛まれて、電源が短絡してるのかと思いましたが、継続して使っているうちに、

  • 電源はACアダプターから供給されている
  • バッテリーからも電源は供給されている(空になるまでは)
  • 充電はされていない

ということが判明してきました。そんなことあるのか、バッテリーの初期不良ではないか、と思ったのですが、ググりまくったところ、充電中に何か異常な状態になると、発火などの予防のためにバッテリーがロックされることがあるそうです。それは知らなかった。

このPCでは電源オフの状態で、電源ボタンを長押しすると、ロックが解除されるようで、とりあえず復旧して様子を見ながら使っているのですが、いったい何が原因でロックされたのか、ちょっとドキドキしてます。

アーカイブ

Last-Modified