MacroDroidの高度設定をroot不要で解放する方法! ADB hackでAndroidの自動化を強化しよう

スポンサーリンク
MacroDroid

Android向けの自動化アプリは色々とありますが、直観的に自動化の設定ができる初心者にオススメなMacroDroidがボクのお気に入りです。

MacroDroid - デバイス自動化
MacroDroid - デバイス自動化
開発者: ArloSoft
金額: 無料
MacroDroid - Androidでマクロを組んで作業を自動化! デザインもクールで使いやすい無料アプリ
Android向けの自動化アプリは「Tasker」や「IFTTT」が有名です。 どちらも非常に便利なアプリですが、初心者には操作しづらい欠点(例:アプリが有料 / 設定やUIに難がある)があります。 そこで本記事では、直観的に自動化の設定が...

本ブログでも様々な自動化設定(マクロ)を紹介しています。

MacroDroidでオススメのマクロ集まとめ! ルーティン作業はアクション/トリガーで自動化しよう
Android向けの自動化アプリは色々とありますが、直観的に自動化の設定ができる初心者にオススメなMacroDroidがボクのお気に入りです。 基本機能とその設定手順については、 本記事では、MacroDroidのおすすめマクロ集をまとめて...

「MacroDroid」で設定できる組み合わせは膨大ですが、一部「アクション」機能は「rootまたはADB hack済み」と表示され、設定してもエラー表示が出ます。

例えばアクションで「モバイルデータ」を選ぶとエラーが出る。

実は「MacroDroid」で設定できる「アクション」は3種類に大別され、

  • 通常の端末で設定できるアクション
  • root化またはADB hack済みの端末で設定できるアクション
  • root化端末のみで設定できるアクション

例えば「モバイルデータのオン/オフ」・「没入型モード」など、Androidシステム中枢に関わる高度なアクションが該当します。

エラー表示のままだとマクロが正常に機能しませんが、root化を実行するとメーカー保証対象外となるなど、一般ユーザーからするとハードルが高いでしょう。

そこで今回はもう1つの選択肢である「ADB hack済み」条件を満たすことで、より高度な「アクション」の組み合わせを実現する手順を解説します。

具体的には「adb(=Android Debug Bridge)」を使って指定コマンドを流すことで「アクション」の制限機能をroot不要で撤廃できます。

 

スポンサーリンク
スポンサーリンク

MacroDroidのADB hackを解放する方法

事前準備:パソコンのadb環境を用意する

adbコマンドを使用する事前準備として、次の3点が必要です。

  • パソコン側でadbコマンドを使用できる環境を整える
  • パソコンとAndroidを接続するケーブルを用意する
  • AndroidのUSBデバッグを有効にする

パソコン側でadbコマンドを使用できる環境を整える

お使いのパソコンでadbコマンドを使用できる環境が必要です。

Windows・Macそれぞれにおける手順は関連記事で解説しています。

Windowsでadbコマンドを使う方法! Android SDKを入れてパソコンのコマンドプロンプトから操作しよう
この記事では、Windows PCでadbコマンドを使う方法を解説します。
Macでadbコマンドを使う方法! Android Studioを入れてmacOSのターミナルから操作しよう
この記事では、Macでadbコマンドを使う方法を解説します。

パソコンとAndroidを接続するケーブルを用意する

パソコンとAndroidを接続するケーブルも必要です。

AndroidのUSB端子の形状(micro USB / Type C)に合わせ用意しましょう。

AndroidのUSBデバッグを有効にする

AndroidのAndroid設定アプリのアイコン設定で ビルド番号 を連続タップして 開発者向けオプション を有効にした後、USBデバッグ を有効にして下さい。

AndroidのUSBデバッグを有効にする手順

adbコマンドを使用する事前準備は以上です。

adbコマンドを実行する

Androidに「MacroDroid」をインストールしておき、

MacroDroid - デバイス自動化
MacroDroid - デバイス自動化
開発者: ArloSoft
金額: 無料

パソコンとAndroidを接続してから、2つのadbコマンドを順番に実行します。

adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION

もし下記のようなエラーが出る場合、Android側で先述した「USBデバッグ」がオンになっているか再度確認して下さい。

error: no devices/emulators found

作業はコレだけ。

MacroDroidで制限がかかっている「アクション」機能でマクロを組み、エラー表示が出ないことを確認できれば成功です!

例えばアクションで「モバイルデータ」を選んでもエラーが出ない。

実際にマクロを動かして、動作性も検証しましょう。

なお付与した権限を放棄して、元の状態に戻したい場合、次のコマンドを実行すればOK。

adb shell pm revoke com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
adb shell pm revoke com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION

 

参考:「ADB hack済み」で設定できるマクロ例まとめ

今回のadbコマンドを流す方法で「rootまたはADB hack済み」制限を解除して設定できるマクロを紹介します。

条件に応じてNFCを自動で無効にするマクロ

特定の条件に応じて、AndroidのNFC機能をオン / オフ切り替えができます。

例えばアプリの起動 / 終了をトリガーとするケースのマクロは下記通り。

マクロ①

  • トリガー:アプリの起動 / 終了(Edyチャージアプリを開いたら)
  • アクション:NFC機能の設定(NFCをオンにする)
  • 条件:任意(設定しなくてもOK)

マクロ②

  • トリガー:アプリの起動 / 終了(Edyチャージアプリを閉じたら)
  • アクション:NFC機能の設定(NFCをオフにする)
  • 条件:任意(設定しなくてもOK)

毎回決まったアプリでNFCを使っているなら、必要なときだけ機能を有効に自動切り替えできます。

条件に応じてGPSを自動で無効にするマクロ

特定の条件に応じて、AndroidのGPS機能をオン / オフ切り替えができます。

例えばアプリの起動 / 終了をトリガーとするケースのマクロは下記通り。

マクロ①

  • トリガー:アプリの起動 / 終了(Googleマップを開いたら)
  • アクション:位置情報モード設定(GPSをオンにする)
  • 条件:任意(設定しなくてもOK)

マクロ②

  • トリガー:アプリの起動 / 終了(Googleマップを閉じたら)
  • アクション:位置情報モード設定(GPSをオフにする)
  • 条件:任意(設定しなくてもOK)

毎回決まったアプリでGPSを使っているなら、必要なときだけ機能を自動切り替えすればバッテリー節約になりますよ。

詳細は関連記事【AndroidのGPSを自動で無効にする方法! 特定アプリで位置情報オンオフを切り替えてバッテリーを節約しよう】で解説しています。

AndroidのGPSを自動で無効にする方法! 特定アプリで位置情報オンオフを切り替えてバッテリーを節約しよう
Google Mapなど位置情報を使うアプリでは、GPS機能を有効にする必要があります。 ただGPSはバックグラウンドで動き続けるためバッテリー消耗も激しく、電池持ちを改善するには可能な限りオフにしておくべき機能です。 とはいえ、アプリごと...

条件に応じて全画面モードへ切り替えるマクロ

特定の条件に応じて、Androidの画面表示をフルスクリーンへ切り替えができます。

例えばChromeの起動 / 終了をトリガーとするケースのマクロは下記通り。

マクロ①

  • トリガー:アプリの起動 / 終了(Chromeを開いたら)
  • アクション:没入型モード設定(全画面表示をオンにする)
  • 条件:任意(設定しなくてもOK)

マクロ②

  • トリガー:アプリの起動 / 終了(Chromeを閉じたら)
  • アクション:没入型モード設定(全画面表示をオフにする)
  • 条件:任意(設定しなくてもOK)

特定のアプリをフルスクリーン表示したい場合、自動化できるので大変便利ですよ。

条件に応じてモバイルデータ通信を自動で無効にするマクロ

特定の条件に応じて、Androidのモバイルデータ通信(LTE / 4G)機能をオン / オフ切り替えができます。

例えばアプリの起動 / 終了をトリガーとするケースのマクロは下記通り。

マクロ①

  • トリガー:アプリの起動 / 終了(YouTubeを開いたら)
  • アクション:モバイルデータ通信設定(LTEをオフにする)
  • 条件:任意(設定しなくてもOK)

マクロ②

  • トリガー:アプリの起動 / 終了(YouTubeを閉じたら)
  • アクション:モバイルデータ通信設定(LTEをオンにする)
  • 条件:任意(設定しなくてもOK)

データ通信量の多いアプリ(例:動画アプリ / ゲームアプリ)に対してこの設定をすれば、パケットの節約になりますよ。

詳細は関連記事【[Android] 個別アプリごと4G(LTE)を強制的にオフにする方法! スマートフォン指定機能でモバイルデータ通信を自動で無効化しよう】で解説しています。

Androidでアプリごとモバイルデータ通信をオフにする方法! フォアグラウンドでWi-Fi以外繋がらないようにしよう
この記事では、Androidで指定アプリがWi-Fi以外繋がらないようにする方法を解説します。モバイルデータ通信を自動でオフにできます。

モバイルデータ通信の制御は「ADB hack済み」の条件を満たしていても、Androidの機種やOSバージョンによっては正常に動作しないことがあります。

この場合、端末のroot化が必須となります。

注意:条件が「root」のみのアクションは設定できない

条件が「root」のみのアクションは、残念ながら今回の方法でも解放されません。

参考までに制限付きアクションの条件をまとめました(MacroDroidバージョン3.23.3で確認した内容です)。

rootまたはADB hack済み

  • NFCの有効化/無効化
  • モバイルデータのオン/オフ
  • バッテリーセーバー
  • 没入型モード
  • 位置情報モードを変更
  • ヘッドアップ通知を有効にする・無効にする

root化端末のみ

  • スクリーンショットを撮る
  • USBテザリング
  • 機内モードのオン/オフ
  • 再起動/電源を切る
  • GPSの有効化/無効化
  • 電話に出る
  • アプリの有効/無効
  • アプリを強制停止
  • アプリデータの削除
  • アプリの通知設定

もし「root」のみのアクションを設定したい場合、端末をroot化した上で、

Androidをroot化する方法まとめ! Magisk/TWRPでスーパーユーザー権限を取得しよう
この記事では、Android端末全般のroot化手順を解説します。Pixel/Galaxy/Xperia端末でroot化する方法を説明しています。

「MacroDroid」にスーパーユーザー権限を許可する必要があります。

 

〆:ADB hackで高度なアクションを組もう!

以上、MacroDroidの高度設定をroot不要で解放する方法! ADB hackでAndroidの自動化を強化しよう の説明でした。

「ADB hack」条件を満たすことで、よりAndroidシステム中枢に関わる高度なアクションでマクロを組むことができます。

ぜひ、お試しあれ。

参考 MacroDroid Forums – Granting WRITE_SECURE_SETTINGS permission via ADB

MacroDroid
スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク

コメント

  1. とおちすがり より:

    googlemap起動時に位置情報をonにするのですが
    使用後位置情報はonのまま。

    なんとかならないかな?と思い探していると
    こちらにrootをとらずに自動化できるという記事にあたりました

    コマンドでエラーが出たりしましたが
    そこはググることで解決。
    結果はgooglemapでon、終了でoffができました。

  2. 匿名 より:

    一部のデバイスでは、開発者オプションの「認可の監視を無効化する」も有効にする必要がありますね。

  3. t029 より:

    最近macrodroidを使い始めたのですが、このコマンドのような「adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS」を一回実行すればその後再起動しても使用できるのでしょうか?

タイトルとURLをコピーしました