AndroidでCamera2 APIを有効化する方法|Root済み・未Rootデバイス両対応ガイド
Androidでは、アプリ開発者がGoogleのCamera2 APIを使ってデバイスのカメラハードウェアと直接やり取りできます。GCam(Googleカメラポート)などのサードパーティ製カメラアプリが動作するためには、このAPIが重要な前提条件となります。しかし、APIを使用するアプリに強力な制御権限を与える仕組みであるため、多くのメーカーは初期状態でCamera2 APIを無効化しています。
なぜCamera2 APIが必要なのか?
簡単に言えば、Camera2 APIとは、アプリがスマートフォンのカメラハードウェアを利用・制御するために必要なツール群を提供するものです。技術的な詳細は本ガイドの範囲外ですが、ほとんどのサードパーティ製カメラアプリがこのAPIに依存しているという点は押さえておきましょう。他のサービスと異なり、カメラアプリは搭載されているハードウェアの性能を最大限に引き出すために、直接アクセスする必要があるからです。
例えば、WhatsAppの標準カメラ機能には、写真や動画の撮影、フラッシュの切り替え、前面・背面カメラの切り替えといった基本的なオプションしかありません。一方、GCamのような本格的なカメラアプリでは、RAW画像の撮影、ホワイトバランス、シャッタースピード、ISO感度、マニュアルフォーカスなどの高度な機能が求められます。まさに後者の用途こそが、Camera2 APIが活躍する場面なのです。
デバイスでCamera2 APIが有効かどうか確認する方法
まずは、自分のスマートフォンでCamera2 APIが有効になっているかを確認しましょう。オンラインフォーラムで互換性を調べる方法もありますが、「Camera2 API Probe」というサードパーティ製アプリを使うのが手軽です。Google Playストアからダウンロードできます。
このアプリは、スマートフォンのCamera2対応状況について詳しい情報を表示してくれます。「Hardware Support Level(ハードウェアサポートレベル)」の項目には以下のような用語が表示されます。それぞれの意味は次の通りです。
- LIMITED:カメラポートが意図した通りに動作しない可能性があり、将来的にバグや不具合に遭遇する恐れがあります。
- LEGACY:基本的なカメラ機能は動作しますが、高度なコントロールは制限されます。
- FULL または LEVEL_3:Camera2 APIが有効になっており、サードパーティ製カメラポートと完全に互換性があります。
Camera2 API Probeは、サポートされる機能とその限界点についての詳細情報も提供します。前面カメラと背面カメラを個別に解析し、対応する動画FPS、フォーカスモード、露出設定、手ブレ補正モード、プレビューサイズなどを網羅的に確認できます。
以下では、デバイスでCamera2 APIを有効化するいくつかの方法を紹介します。ただし、いずれの方法でもシステムファイルへの何らかの変更が必要になるため、慎重に作業を進めてください。単にサードパーティ製カメラアプリが必要なだけであれば、GCam Goを試してみてください。基本的なカメラ機能をすべて備えており、Camera2 APIのフルサポートを必要としません。
1)Camera2API Magiskモジュールを使う方法(Root必須)
Magiskのモジュール方式を活用すれば、モジュールを書き込むだけでCamera2の制限を回避できます。ただし、端末がRoot化されていることが前提です。
- jhangyuのGitHubリポジトリからCamera2APIモジュールをダウンロードします。
- Magiskでモジュールを書き込みます。
- Magiskアプリを開き > 右下の「モジュール」>「ストレージからインストール」を選択 > ダウンロードした.zipファイルを指定します。
- デバイスを再起動します。
2)ターミナルエミュレータを使う方法(Root必須)
KernelSUなど別のRootツールを使用している場合は、ターミナルエミュレータアプリでbuild.propファイルを編集し、APIを有効化できます。
- ターミナルエミュレータをデバイスにダウンロードします。
- APKファイルはオンラインフォーラムや各種サイトから入手できます。
- 以下のコマンドを入力して、アプリにRoot権限を付与します。
su - 続いて、以下の2つのコマンドを入力します。
setprop persist.camera.HAL3.enabled 1setprop vendor.persist.camera.HAL3.enabled 1
- Enterキーを押し、デバイスを再起動します。
なお、APIを有効化するには、上記のコマンド行を/system/build.propに追記する必要があります。
3)TWRPを使う方法(未Root・ブートローダーアンロック済み)
Root化していない端末のユーザーは、TWRPを使って上記のコマンドをbuild.propファイルに書き込むことができます。作業前には必ずデータのバックアップを取り、慎重に進めてください。誤ったファイルを操作すると、端末が文鎮化(ハードブリック)する可能性があります。
- PCにADB環境をセットアップします。
- 初めてADBを導入する場合は、詳細な解説ガイドを参考にすることを強くおすすめします。
- 自分のデバイス用のTWRPリカバリーファイルをダウンロードし、ファイル名をtwrp.imgに変更します。
- USBケーブルでスマートフォンをPCに接続します。
- Platform Toolsのコマンドプロンプトで、以下のコマンドを順に入力してTWRPを起動します。
adb devicesadb reboot bootloaderfastboot boot twrp.img
- スマートフォンがTWRPで起動したら、「Swipe to Allow Modifications」と表示されたバーをスワイプします。
- コマンドプロンプトに戻り、以下のコマンドを入力してADB Shell経由でCamera2 APIを有効化します。
adb devicesadb shellsetprop persist.camera.HAL3.enabled 1exitadb reboot
以上のいずれかの手順を完了したら、再度Camera2 APIのステータスを確認しましょう。問題なく有効化されていれば、Googleカメラやその他のカメラポートを快適に使用できるようになります。ただし、端末を初期化すると設定がリセットされる場合があるため、その際は同じ手順を再度実行する必要がある点にご注意ください。
著者について

Muhammad Qasim
テクノロジーとゲームへの深い情熱に突き動かされ、最新の業界動向を常にキャッチアップしながら、自身の知見を記事を通じて発信しています。執筆活動をはじめとする様々な取り組みを通じて、専門知識の共有に尽力し、テック&ゲーム業界に有意義な貢献をすることを目指しています。
-
AndroidでGoogleドライブが「Wi-Fi待機中」のまま止まる問題をすぐに解決する8つの方法
Googleドライブに「Wi-Fi待機中(Waiting for Wi-Fi)」と表示されるのは、アプリが現在のWi-Fi接続はアップロードには十分安定していないと判断した場合です。この状態になると、ドライブはアップロードを一時停止し、接続が安全だと判断できるまで待機し続けます。 各種対処法を試す前に、まず以下の基本的な項目を確認しておきましょう。 スマートフォンが実際にWi-Fiに接続されているか 他のアプリでインターネットが正常に使えるか 事前ログインが必要なホテルやカフェのWi-Fiを使用していないか これらのいずれかに問題がある場合、ドライブはメッセージを表示したまま先へ進めません
-
Androidスマホをリモート操作する方法|PC・別端末から遠隔制御できるアプリ15選
Androidは、ユーザーフレンドリーでカスタマイズ性が高く、多彩な機能を備えていることから、世界中で高い人気を誇っています。そんなAndroidスマホの優れた機能のひとつが、PCや別のAndroid端末からリモート操作できるという点です。この機能には実に多くのメリットがあります。 例えば、Androidスマホにトラブルが発生し、専門家のサポートが必要になった場面を想像してみてください。わざわざサービスセンターまで持ち込んだり、電話での指示を聞きながら苦戦したりする必要はありません。技術者にリモートアクセスを許可すれば、そのまま修理してもらうことができます。また、複数のモバイル端末を使い分け