ADBを使ってAndroidアプリに権限を付与する方法【ルート化不要】
ほとんどのAndroidアプリは、ストレージやカメラへのアクセスといった基本的な権限を、標準の仕組みで簡単に取得できます。しかし、一部のアプリは正常に動作するためにシステムレベルの権限を必要とします。
こうした権限は通常、スマホをルート化することで付与できますが、その作業は複雑で、場合によっては不要なリスクを伴います。実は、ADBコマンドを使えば、ルート化せずに高度な権限を付与できるのです。
本記事では、ADBとは何か、そしてADBを使ってAndroidに権限を付与する具体的な手順をわかりやすく解説します。
Android Debug Bridge(ADB)とは?
Androidでは、一般ユーザーはOSファイルを書き換えるルート化のような高度な手法を使わない限り、不要なプリインストールアプリの削除など、システムによって保護された操作を行えません。そんなときに活躍するのがADB(Android Debug Bridge)です。
ADBは、Androidデバイスをパソコンに接続し、本来ルート権限が必要なタスクを実行できるようにするコマンドラインツールです。
ADBのコマンドを使えば、システムアプリのアンインストール、APKファイルのインストール、システムログの取得、アプリへの追加権限の付与など、さまざまな便利な操作が可能になります。
ADBで権限を付与する手順
コマンドを実行する前に、まずデバイスとのADB接続を確立する必要があります。ADBコマンドはWindows・Mac・Linuxすべてで共通なので、OSによる大きな違いはありません。
ただし、WindowsユーザーはPowerShellを、MacおよびLinuxユーザーはターミナルを使ってコマンドを実行します。
1. SDKツールをダウンロードする
Android Developers公式サイトにアクセスし、お使いのOSに対応したSDK Platform-Toolsをダウンロードしてください。
2. ZIPファイルを解凍する
このステップはWindowsユーザーのみ必要です。MacやLinuxをお使いの方は次のステップへ進んでください。
Windowsの場合、ダウンロードしたZIPファイルを任意の場所に解凍します。解凍後、platform-toolsフォルダを一度クリックして選択しておきます(フォルダの中に入る必要はありません)。
3. PowerShellまたはターミナルを開く
Windowsの場合、Altキーを押しながらF→S→Aの順にキーを押すと、管理者権限でPowerShellを開けます。
MacやLinuxの場合は、platform-toolsフォルダの中身がある場所と同じディレクトリでターミナルを開いてください。
4. 開発者向けオプションを有効にする
次に、スマホ側で開発者向けオプションを有効にします。設定 > 端末情報(または「デバイス情報」)を開き、ビルド番号を7回連続でタップしてください。
ロック画面のパスワード入力を求められた場合は、パスワードを入力すれば完了です。
5. USBデバッグを有効にしてスマホを接続する
開発者向けオプションの一覧からUSBデバッグをオンにします。確認ポップアップが表示されたら「OK」をタップしましょう。
その後、USBケーブルを使ってスマホをパソコンに接続します。
6. デバイスの接続を確認する
PowerShellまたはターミナルで以下のコマンドを入力し、デバイスが正しく認識されているか確認します。
.\adb devices
コマンド実行後にデバイス固有のシリアル番号が表示されない場合は、パソコン側でADBドライバが正しく検出できていない可能性があります。
その場合は、ClockworkModのサイトから汎用ドライバをダウンロードしてインストールするか、XDAフォーラムで公開されている最新版のADBインストーラーを入手してみてください。それでも改善しない場合は、ADB接続トラブルの対処ガイドを参考にするとよいでしょう。
7. USBデバッグを許可する
ADBコマンドを初めて使う場合、手順6の後にスマホの画面に「USBデバッグを許可しますか?」というポップアップが表示されます。「このパソコンからのUSBデバッグを常に許可する」にチェックを入れ、「許可」をタップしてください。
8. ADBコマンドを入力して権限を付与する
準備が整ったら、PowerShellまたはターミナルで以下のコマンドを入力します。
.\adb shell
続いて、以下の形式のコマンドで、任意のアプリに権限を付与できます。
pm grant <package-name> <permission>
<package-name>にはアプリのパッケージ名を、<permission>には付与したい権限名をそれぞれ置き換えて入力します。パッケージ名がわからない場合は、Google Playから「Package Name Viewer 2.0」などをインストールして検索できます。
ここでは例として、Battery Guruというアプリに権限を付与してみましょう。
下記のように、com.paget96.batteryguruがパッケージ名、android.permission.PACKAGE_USAGE_STATSが権限名です。このコマンドを実行すると、Battery Guruがアプリの使用状況や統計データにアクセスできるようになります。
pm grant com.paget96.batteryguru android.permission.PACKAGE_USAGE_STATS
もう一つの例として、スマホをルート化せずに省電力アプリNaptimeを使いたい場合は、以下の2つのコマンドで必要な権限を付与できます。
pm grant com.franco.doze android.permission.DUMP
pm grant com.franco.doze android.permission.WRITE_SECURE_SETTINGS
ADBでAndroidをより自由にコントロールしよう
ADBは、アプリへの権限付与にとどまらず、ルート化なしでシステムデータをバックアップするなど、多彩な用途を持つ強力なツールです。
一度ADBの可能性を探ってみれば、Android環境の柔軟性と奥深さを実感できるはずです。ぜひ本記事の手順を参考に、快適なスマホライフに役立ててください。
-
Androidでデータを消費しているアプリを特定する方法【Check Data Usage活用ガイド】
Androidスマートフォンで、あまり使っていないつもりなのにモバイルデータがすぐに足りなくなる——そんな経験はありませんか?これは、外出先でインターネットを利用する多くのユーザーが直面する共通の悩みです。原因のひとつは、一部のアプリがバックグラウンドでモバイルデータを消費していることに、ユーザー自身が気づいていないこと。だからこそ、Androidデバイスで最もデータを消費しているアプリを特定することが重要です。無料のサードパーティ製アプリ「Check Data Usage」なら、「どのアプリが一番データを消費しているのか?」という疑問にすぐ答えてくれます。 Systweak Software
-
AndroidでBluetoothテザリングを使ってインターネットを共有する方法
Wi-Fiホットスポットの不具合で、インターネットを共有できずに困ったことはありませんか?もしそうなら、この記事がきっと役立ちます。近年のAndroidでは、アップデートやアップグレード後に不具合が発生することが珍しくなく、さまざまな機能に支障をきたすケースがあります。その代表例の一つが、Wi-Fiホットスポットの動作不良です。多くの場合、次のアップデートで解決されますが、緊急に他のAndroidデバイスとインターネットを共有したいタイミングで使えないと困ってしまいますよね。そこで本記事では、Wi-Fiホットスポットの代わりとなる強力な手段である「Bluetoothテザリング」の活用方法をご紹