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

MacroDroid

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

MacroDroid - Androidでマクロを組んで作業を自動化! デザインもクールで使いやすい無料アプリ
Android向けの自動化アプリは色々とあり、よく挙げられるのが「Tasker」や「IFTTT」あたりでしょうか。 どちらも非常に便利なアプリですが、有料だったり、設定やUIに難があったり、などなど初心者には操作しづらい欠点が...

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

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

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

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

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

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

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

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

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

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

photo by Pixabay

 

スポンサーリンク

MacroDroidのADB hackを解放する方法

パソコンとAndroidを接続してadbコマンドを打つ必要があるため、事前に下記2点の準備が必要です。

  • パソコンでadbコマンドを使えること
  • Androidで「USBデバッグ」をオンにすること

準備:パソコンでadbコマンドを用意する

お使いのパソコンでadbコマンドの環境を用意して下さい。

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

Windowsでadbコマンドを使う方法! Android SDKを入れてパソコンのコマンドプロンプトから操作しよう
「Android Studio」をご存知でしょうか? Android Studio(アンドロイド スタジオ)は、Googleが提供するAndroidプラットフォームに対応する統合開発環境のこと。 引用 Wikipedia - And...
Macでadbコマンドを使う方法! Android Studioを入れてmacOSのターミナルから操作しよう
「Android Studio」をご存知でしょうか? Android Studio(アンドロイド スタジオ)は、Googleが提供するAndroidプラットフォームに対応する統合開発環境のこと。 引用 Wikipedia - And...
記事中ではMacを使用したケースを例に説明しています。

準備:Androidで「USBデバッグ」をオンにする

パソコンからadbコマンドを流す際、Android側で「USBデバッグ」がオンになっている必要があります。

「設定」より「開発者向けオプション」を開き、「USBデバッグ」トグルをタップして有効にすればOK。

もし「開発者向けオプション」をまだ表示していなければ、関連記事【Androidで「開発者向けオプション」を表示する方法! デベロッパーモードで隠れ機能を使おう】で解説しています。

Androidで「開発者向けオプション」を表示する方法! デベロッパーモードで隠れ機能を使おう
Androidの「開発者向けオプション」をご存じでしょうか? 通常の設定では変更できない部分まで、ユーザーによるカスタマイズを許可するAndroidの隠れ機能で、ある操作をすることで使用できるようになります。 そこで本記事では、...

参考:USBケーブルも準備する

今回の方法ではパソコンとAndroidを接続するケーブルも必要です。

AndroidのUSB端子の形状(micro USB / Type C)に合わせ、ご準備下さい。

adbコマンドを実行する

以上、事前準備さえ完了すれば、後は指定adbコマンドを流すだけです。

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

パソコンと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で制限がかかっている「アクション」機能でマクロを組み、エラー表示が出ないことを確認できれば成功です!

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

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

 

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

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

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

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

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

マクロ①

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

マクロ②

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

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

詳細は関連記事【AndroidのNFCを自動で無効にする方法! 特定アプリごとオンオフを切り替えて誤作動を防ごう】で解説しています。

AndroidのNFCを自動で無効にする方法! 特定アプリごとオンオフを切り替えて誤作動を防ごう
グローバルモデル含め、多くのAndroid機種には「NFC」機能が搭載され、非接触で専用のカードやタグを読み取ることができます。 ただ近付けるだけで動作するため、意図しない状況で勝手にNFCが働いてしまう欠点もあります。 とはい...

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

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

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

マクロ①

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

マクロ②

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

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

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

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

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

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

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

マクロ①

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

マクロ②

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

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

詳細は関連記事【[Android] 特定アプリのみ自動で全画面表示する方法! ブラウザや動画を没入モードへ切り替えよう】で解説しています。

[Android] 特定アプリのみ自動で全画面表示する方法! ブラウザや動画を没入モードへ切り替えよう
Androidは一部アプリ(例:YouTube)のみステータスバーとナビゲーションバーを隠した「全画面表示」へ切り替わりますが、ユーザー側でオン / オフを自由に選択できません。 全てのアプリで強制的にフルスクリーンモードとするワザも...

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

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

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

マクロ①

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

マクロ②

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

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

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

[Android] 個別アプリごと4G(LTE)を強制的にオフにする方法! スマートフォン指定機能でモバイルデータ通信を自動で無効化しよう
携帯キャリアのプランによって1ヶ月で利用できるデータ通信上限量が決まっているため、自宅や会社などWi-Fiを利用できる環境ではなるべくモバイルデータ通信の使用を控えるべきです。 が、Wi-Fiへ接続できる環境にも関わらず、様々な要因で...

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

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

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

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

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

rootまたはADB hack済み

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

root化端末のみ

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

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

Nexus 6Pをroot化する方法! TWRPでAndroid 8.1にMagiskをインストールして改造しよう
Nexus 6P(Android 8.1)をroot化した際の作業を記録します。 Androidをroot化するためには、「Superuser」の権限を管理するアプリをインストールする必要があり、代表的なアプリとして「SuperSU」...

「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ができました。