この記事では、MacroDroidでADB hackを設定する方法を解説します。
ADB hackが必要なマクロを使いたい方は、ぜひどうぞ。
前提:ADB hackとは?
MacroDroidでマクロを作っていると、以下のようなメッセージが出るケースがあります。
アクセス許可には、スマホ本体のルート化またはADBツールが必要です android.permission.WRITE_SECURE_SETTINGS
このメッセージは、システム設定の変更やモバイルデータの切り替え、一部のWi-Fi制御など、通常の権限だけでは動かせないトリガー、アクションで表示されます。

メッセージ例
こうしたトリガー、アクションを利用するには、以下3パターンの解決策があります。
- root権限を取得する(端末のroot化)
- adbコマンドで権限を取得する(ADB hack)
- Shizukuで権限を取得する
うちADB hackとは、パソコンからadbコマンドを使って、MacroDroidに特別な権限を付与する設定です(root権限も不要)。
この方法なら、「root化はしたくない」・「けど通常権限では足りないマクロを使いたい」というニーズにぴったりです。
“コマンド”というワードだけ聞くと、なんだか難しそうですが、本記事で紹介する手順に沿って作業すれば、決してハードルは高くありません。
ぜひ、お試しください。
MacroDroidのADB hackを解放する方法
まず事前準備として、お使いのパソコンでadbコマンドを使用できる環境を用意してください。
Windows・Macそれぞれにおける手順は、関連記事で解説しています。
関連記事 Windowsでadbコマンドを使う方法
関連記事 Macでadbコマンドを使う方法
次のコマンドで、デバイスの接続確認まで済んでいればOKです。
adb devices

接続したAndroid実機を認識できればOK
あとは下記コマンドを実行するだけ。
adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS

コマンドをコピペして、Enterで実行
作業は以上です。
以下メッセージが出なくなり、マクロが動作することを確認できれば成功です。
アクセス許可には、スマホ本体のルート化またはADBツールが必要です android.permission.WRITE_SECURE_SETTINGS

(左)実行前 (右)実行後。メッセージが消える
付与した権限を放棄して、元の状態に戻したい場合、次のコマンドを実行すればOK。
adb shell pm revoke com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS

コマンドをコピペして、Enterで実行
なお、ADB hackを満たすコマンドとして”WRITE_SECURE_SETTINGS”の権限付与を紹介しましたが、実際は以下5種類の権限があります。
WRITE_SECURE_SETTINGS
READ_LOGS
SET_VOLUME_KEY_LONG_PRESS_LISTENER
CHANGE_CONFIGURATION
DUMP
たとえば、トリガー「音量ボタンの長押し」では、”SET_VOLUME_KEY_LONG_PRESS_LISTENER”の権限付与が必要です。

メッセージ例
このような場合、表示されたメッセージに応じて、実行するコマンドも修正してください。
具体的には、以下コマンド例のうち、末尾●●の部分を付与したい権限に置き換えればOKです。
adb shell pm grant com.arlosoft.macrodroid android.permission.●●
以下、権限ごとのコマンドまとめです。
| 権限 | コマンド |
|---|---|
| WRITE_SECURE_SETTINGS | adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS |
| READ_LOGS | adb shell pm grant com.arlosoft.macrodroid android.permission.READ_LOGS |
| SET_VOLUME_KEY_LONG_PRESS_LISTENER | adb shell pm grant com.arlosoft.macrodroid android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER |
| CHANGE_CONFIGURATION | adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION |
| DUMP | adb shell pm grant com.arlosoft.macrodroid android.permission.DUMP |
実際は”WRITE_SECURE_SETTINGS”を付与すれば、動くマクロが多いです。
が、別の権限が要求されるマクロが一部あるため、表示されるメッセージごと、対応してください。
参考:ADB hackが必要なマクロ例
ADB hackの設定が必要なトリガー、アクションの一例です(MacroDroidバージョン5.62.10時点)。
| 大項目 | 中項目 | アクション名 | 関連記事 |
|---|---|---|---|
| トリガー | ユーザー操作 | 音量ボタンの長押し | Androidで音量ボタンの割り当てを変える方法 |
| 機器の動作 | Logcatメッセージ | – | |
| アクション | 位置情報 | 位置情報モードを設定 | AndroidのGPSを自動で無効にする方法 |
| 機器の設定 | アンビエント表示 | – | |
| キーボードのデフォルト設定 | – | ||
| ダークテーマ | Androidでアプリ別にダークモードを自動設定する方法 | ||
| デジタルアシスタント設定 | – | ||
| デモ・モード | – | ||
| バッテリー節約モード | – | ||
| ユーザー補助サービス | – | ||
| 没入モード | Androidを全画面表示する方法 | ||
| 色を反転 | – | ||
| 表示解像度 | – | ||
| 接続 | NFCのON/OFF | AndroidでNFCショートカットを設定する方法 | |
| モバイル通信ON/OFF | Androidでアプリごとモバイルデータ通信をオフにする方法 | ||
| 通知 | ヘッドアップ通知をON/OFFにする | – |
具体的なマクロ例を、掲載した関連記事で取り上げているので、合わせてどうぞ。
〆:ADB hackで高度なアクションを組もう!
以上、MacroDroidでADB hackを設定する方法! root不要で高度な自動化を使う手順 の説明でした。
ADB hackの条件を満たすことで、よりAndroidシステム中枢に関わる高度なアクションでマクロを組むことができますよ。
特に非root環境で実現したい場合、有力な選択肢となります。
ぜひ、お試しあれ。
関連記事 adbコマンドでエラーが出る原因まとめ
コメント
googlemap起動時に位置情報をonにするのですが
使用後位置情報はonのまま。
なんとかならないかな?と思い探していると
こちらにrootをとらずに自動化できるという記事にあたりました
コマンドでエラーが出たりしましたが
そこはググることで解決。
結果はgooglemapでon、終了でoffができました。
役に立ち、嬉しいです!
一部のデバイスでは、開発者オプションの「認可の監視を無効化する」も有効にする必要がありますね。
そうなんですね、情報ありがとうございます!
最近macrodroidを使い始めたのですが、このコマンドのような「adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS」を一回実行すればその後再起動しても使用できるのでしょうか?
再起動しても使用できます(再度adbコマンドを実行する必要なし)