Android端末でのADB利用が制限される可能性?開発者への影響を徹底解説
Android May Soon Restrict On-Device ADB
Android May Soon Restrict On-Device ADB
Androidの将来のアップデートにより、端末上での直接的なADB(Android Debug Bridge)操作が制限される可能性が浮上しています。これまで開発者にとってデバッグ作業の要であった端末内ADBアクセスですが、セキュリティ強化の名の下に、今後の仕様変更で使い勝手が大きく変わるかもしれません。この変更が意味することや、今後の開発環境への影響について要注目です。
もちろん、こうなることは目に見えていたよ。そのうちサイドローディングの24時間制限が、いつの間にか無期限の制限になっても驚く人なんていなくなるんだろうね。
スレッドをスパムで埋め尽くすと、Googleの開発者が問題をロックしたり、有益なコミュニティフィードバックを無視したり、この変更に関する公開アップデートを完全に停止したりするだけです。
結局何も変わらないってことだね(彼らは自分たちにとって都合の悪い「有益なフィードバック」をロックして隠すことだってできるんだし)。だから、どんどん反対意見を表明すればいいよ。
セキュリティ向上には概ね賛成だけど、今回の件についてはあまりメリットを感じないな。この攻撃ベクトルを突くには、ユーザーが開発者向けオプションを有効にしていて、かつリモートadbもオンにしている必要がある。つまり、99.9%のユーザーにとっては現実的な脅威じゃないし、残りの0.1%の人たちは何をしているか分かっている人たちだろう。
もう一つの提案(特定のインターフェースやIPアドレスへのアクセス制限)は良さそうだけど、なぜ開発者がlocalhostへのアクセスを制限できるようにしないんだろう?
副作用を装って、ShizukuやCantaなんかを排除しようとしているようにしか見えないよ。
近いうちにウェブサイトでも同じことが起きそうで怖いな。
Appleデバイスでサイトを開くには毎月Appleに手数料を払い、Androidデバイスでサイトを開くにはGoogleに毎月手数料を払う……なんてことになるんじゃないか。
スマホにもLinuxが必要だね。ブラウザさえ使えれば銀行アプリはなくてもいいけど、無線カードやSonos、Spotifyみたいな人気のアプリは動かないと困る。
これは大きな問題だよ。Androidがここまでガチガチに制限されるようになるなんて、警鐘を鳴らすべき事態だ。Androidの良さであるはずの要素が、少しずつ削り取られている。
Androidを選ぶ理由はたった一つ、少なくとも自分にとってはそうだし、最初のGoogle Developer PhoneからずっとAndroidを選んできた理由は「オープンであること」これに尽きる。
つまり、Androidを選び続ける理由すら残したくないってことなんだろうね。
ADBの制限は当然の次のステップだ。たとえ今回の機能リクエストが実現しなかったとしても、Googleは誰もが個人的な計算タスクのために「開発者」用インターフェースに頼らざるを得ない状況に追い込んでいる。USB経由だろうがデバイス内実行だろうが同じだ。いずれは本人確認と年会費を支払うか、さもなくば極端に制限された機能しか使わせてもらえなくなるのは明らかだ。Googleは管理外のチャンネルでアプリ開発をしてほしくないんだから。結局、「開発者」用のブリッジなんだ。普通の正当なサイドローディング(インストール)を禁じる変更を押し通した時点で、勝負はついていたんだよ。
法律で義務付けられていない場所でも「通話を録音しています」という警告を強制するOEMについては言うまでもない。
これもGoogleの責任だ。OEMは独自のものよりGoogleのダイアラー(旧MIUIのものの方がずっと良かったのに)を好んで採用するようになっていて、それがほぼ例外なくルールを適用してしまう。特にMediaTek搭載機で、サードパーティアプリを使ってもハードウェアレベルで機能が制限される場合は本当にイライラする。「自分の」デバイスなのに所有権がないという証拠が、これ以上必要か?まあ、数年後にはGeminiが勝手に通話を聞いて要約してくれるようになるかもしれないけどね。認可された監視チャンネルを通すだけで済むさ。
Googleが最初にサイドローディングの制限を発表した時、「でもADBがあるから大丈夫」と言った人がいて、それに反論する人は激しく批判されていたね。
今となっては、ADBを有効にするための回避策すら塞がれようとしていて、サイドローディングも同じ運命をたどるんだろう。
Androidはとっくの昔にiOSよりオープンではなくなっている。この流れは今後も続くだろうね。
繰り返すけど、これは技術的な問題じゃなくてGoogleの思想の問題だから、テクノロジーで解決できる話じゃないよ。
私の見解では、これは誤解に基づいた過剰反応だと思う。
私は開発者としてリモートadbを日常的に使っている(開発中のAndroidプロジェクトのビルドをインストールしたり、ログを取得したりするため)。現状ではVPN(Tailscale)経由でアクセスしているけど、公衆Wi-Fiに繋ぐたびに接続のリスクにさらされることになる。Tailscaleだけにアクセスを制限できるようになるのは、私にとっては改善だよ。
スレッドの冒頭にある提案は、リモートadbを設定する際に、すべてのインターフェースにバインドするのではなく、バインド先のインターフェースを指定できるようにしようというものだ。提案のどこにも「localhost」を選択肢から除外するような文言はない。ある人が「wlan0のみにバインドする」と提案していたけど、それは短い投げやりなコメントだったし、明らかに間違っている(wlan0はVPNより信頼性が低いし、そんな実装にはならないだろう)。