alchemistarkの日記

やったことのメモ

自動化アプリ Automate 備忘録

play.google.com

ドン詰まりしたのでメモしておく
経緯から思うままに書く

Redmi note 10sで画面常時オンの設定がしたかった
マニュアル通りに実現するなら

Device keep awake
llamalab.com

を使用してスリープを回避するのだが、何故か動作しない
(automateの画面開いていると動作するが、ホームに戻ったり別のアプリに遷移すると動作しなくなる)
開発者設定から電源接続時常時オンでも画面の照度が下げられるので機種側でなんかしてるんじゃないかと思う

次に自動スリープまでの時間を強制変更を考える

Screen off timeout set
llamalab.com

とりあえず10時間ぐらいぶっこんでみるも、機種の最大値10分を超えられず。

adbコマンド打てるっぽいので、まずはUSB接続から
adb shell settings put system screen_off_timeout 36000000
とかぶっこんでみる。
とりあえず10分は超えれたのでとりあえず良しとして、Automateからadbを叩く事にする

ADB shell command
llamalab.com

正直読めないというか読んでも分からないので適当に入力してドハマリしてた

正解だけ述べる

・事前準備

mydevelop.starfree.jp

上記サイトを参考に、USB接続から「automateにadbコマンドを実行する権限」を付与する必要があるっぽい?
今回自分の場合はシステム設定の変更ができれば十分なので、WRITE_SECURE_SETTINGSだけで多分OK

・コマンド
adb shellは省略それ以降のコマンドのみ記述

・証明書の生成
何か知らんけど作る INSTALL GENERATED KEYを押してどっちでもいいので作る
自分は両方作ってしまったのでどっちが必要なのかよくわかってない

作成したらその下のkeychain aliasで作成した証明書を選択 じゃないと
com.llamalab.automate.RequiredArgumentNullException: alias
とか出る

・hostmaneとport
初期値が127.0.0.1と5555なのでそのままにする

ここまでやっていざ実行すると今度は
android.system.ErrnoException: isConnected failed automate
とか出る

単に接続先ポートが設定されてないだけらしいので、USB接続から
adb tcpip 5555
を流してやるといける

llamalab.com


お疲れ様でした


自動スリープまでの時間を変更(超長時間に)→画面がオフ(手動自動問わず)になったら自動スリープまでの時間を変更(元に戻す)


ここまで書いて自動スリープ発動して頭抱えてるんだけど
多分値がちゃんと変わってるか確認の為に設定画面開いてるのがダメっぽい
選択画面に遷移してなくても項目が見えた時点で1つ手前の時間に設定される
つまり最長10分

この画面が表示された時点でもうダメ

もしかしたらScreen off timeout setでうまくいかなかったのもそれかもしれない
検証の度に10分かかってるので地味に辛い

試した
行けた
泣いてる