このページでは、特定のデバイスでビルドを実行する方法を詳しく説明します。これは Android のビルドの情報を補足するものです。
fastboot と adb をビルドする
fastboot
と adb
をまだ所持していない場合は、通常のビルドシステムを使用してビルドできます。Android のビルドの手順に沿って、メインの make
コマンドを次のように置き換えます。
make fastboot adb
Android Debug Bridge(ADB)について詳しくは、Android Debug Bridge(ADB)をご覧ください。
Fastboot モードでブートする
デバイスは、fastboot
ブートローダー モードの場合にフラッシュできます。コールドブート中のデバイスを fastboot
モードにするには、下の表に示すキーの組み合わせを使用します。
adb reboot bootloader
コマンドを使用して、直接ブートローダーを再起動することもできます。詳しくは、フラッシュの手順をご覧ください。
デバイス | コードネーム | キーの組み合わせ |
---|---|---|
Google Pixel 6 Pro | raven | 音量小を押したまま、電源を長押しします。 |
Google Pixel 6 | oriole | 音量小を押したまま、電源を長押しします。 |
Google Pixel 5a (5G) | barbet | 音量小を押したまま、電源を長押しします。 |
Google Pixel 5 | Redfin | 音量小を押したまま、電源を長押しします。 |
Google Pixel 4a (5G) | Bramble | 音量小を押したまま、電源を長押しします。 |
Google Pixel 4a | Sunfish | 音量小を押したまま、電源を長押しします。 |
Google Pixel 4 XL | Coral | 音量小を押したまま、電源を長押しします。 |
Google Pixel 4 | Flame | 音量小を押したまま、電源を長押しします。 |
Google Pixel 3a XL | Bonito | 音量小を押したまま、電源を長押しします。 |
Pixel 3a | Sargo | 音量小を押したまま、電源を長押しします。 |
Pixel 3 XL | Crosshatch | 音量小を押したまま、電源を長押しします。 |
Pixel 3 | Blueline | 音量小を押したまま、電源を長押しします。 |
Pixel 2 XL | Taimen | 音量小を押したまま、電源を長押しします。 |
Pixel 2 | Walleye | 音量小を押したまま、電源を長押しします。 |
Pixel XL | Marlin | 音量小を押したまま、電源を長押しします。 |
Pixel | Sailfish | 音量小を押したまま、電源を長押しします。 |
HiKey | HiKey | J15 のピン 1~2 とピン 5~6 を接続します。 |
Nexus 6P | Angler | 音量小を押したまま、電源を長押しします。 |
Nexus 5X | Bullhead | 音量小を押したまま、電源を長押しします。 |
Nexus 6 | Shamu | 音量小を押したまま、電源を長押しします。 |
Nexus Player | Fugu | 電源を長押しします。 |
Nexus 9 | Volantis | 音量小を押したまま、電源を長押しします。 |
Nexus 5 | Hammerhead | 音量大と音量小を両方押したまま、電源を長押しします。 |
Nexus 7 | Flo | 音量小を押したまま、電源を長押しします。 |
Nexus 7 3G | deb | 音量小を押したまま、電源を長押しします。 |
Nexus 10 | Manta | 音量大と音量小を両方押したまま、電源を長押しします。 |
Nexus 4 | Mako | 音量小を押したまま、電源を長押しします。 |
Nexus 7(2012) | Ggrouper | 音量小を押したまま、電源を長押しします。 |
Nexus 7 3G(2012) | Tilapia | 音量小を押したまま、電源を長押しします。 |
Nexus Q | Phantasm | デバイスの電源を入れたら、LED が点灯してから赤色に変わるまで片手でカバーします。 |
Galaxy Nexus GSM | Maguro | 音量大と音量小を両方押したまま、電源を長押しします。 |
Galaxy Nexus(Verizon) | Toro | 音量大と音量小を両方押したまま、電源を長押しします。 |
Galaxy Nexus(Sprint) | Toroplus | 音量大と音量小を両方押したまま、電源を長押しします。 |
Motorola Xoom | Wingray | 音量小を押したまま、電源を長押しします。 |
Nexus S | Crespo | 音量大を押したまま、電源を長押しします。 |
Nexus SG | Crespo4g | 音量大を押したまま、電源を長押しします。 |
ブートローダーのロックを解除する
カスタム システムをフラッシュできるのは、ブートローダーがそれを許可している場合に限られます。ただし、デフォルトではブートローダーはロックされています。ブートローダーのロックは解除できますが、その場合、プライバシー上の理由でユーザーデータが削除されます。ロックを解除すると、デバイス上のすべてのデータが消去されます。消去対象には、個人のアプリデータと、USB 経由でアクセスできる共有データ(写真や動画など)が含まれます。ブートローダーのロックを解除する前に、デバイス上にある重要なファイルをすべてバックアップしてください。
ブートローダーのロックを解除する必要があるのは 1 回だけです。必要に応じて再ロックすることもできます。
最近のデバイスのロックを解除する
2014 年以降にリリースされたすべての Nexus デバイスと Pixel デバイス(Nexus 6 および Nexus 9 以降)は、出荷時設定へのリセットに対する保護機能を備えています。そのため、ブートローダーのロックを解除するには、複数の手順を踏む必要があります。
- デバイスに対して OEM ロック解除を有効にする手順は以下のとおりです。
- [設定] で、[デバイス情報] をタップして、[ビルド番号] を 7 回タップします。
- 「デベロッパー設定が有効になりました」というメッセージが表示されたら、[戻る] ボタンをタップします。
- [設定] で、[システム]、[開発者向けオプション] の順にタップして、[OEM ロック解除] と [USB デバッグ] を有効にします([OEM ロック解除] が無効になっている場合は、インターネットに接続して、少なくとも 1 回デバイスをチェックインします。無効のままだと、デバイスは携帯通信会社によって SIM ロックされ、ブートローダーのロックを解除できなくなります)。
- ブートローダーを再起動し、
fastboot
を使用してブートローダーのロックを解除します。- 比較的新しいデバイスの場合(2015 年以降):
fastboot flashing unlock
- 古いデバイスの場合(2014 年以前):
fastboot oem unlock
- 比較的新しいデバイスの場合(2015 年以降):
- 画面でロックが解除されたことを確認します。
ブートローダーを再ロックする
以下のコマンドを使用して、ブートローダーを再ロックできます。
- 比較的新しいデバイスの場合(2015 年以降):
fastboot flashing lock
- 古いデバイスの場合(2014 年以前):
fastboot oem lock
フラッシュ ロック状態を使用する
getFlashLockState()
システム API は、ブートローダーの状態を送信し、PersistentDataBlockManager.getFlashLockState()
システム API は、対応デバイスのブートローダーのロック ステータスを返します。
戻り値 | 条件 |
---|---|
FLASH_LOCK_UNKNOWN |
以前はブートローダー変更機能をサポートしていなかったデバイスを Android 7.x 以降にアップグレードしたことで、フラッシュ ロック / ロック解除機能をサポートするようになった場合に限り返されます。ブートローダー変更機能は、フラッシュ ロック ステータスを取得するうえで必要になります。
|
FLASH_LOCK_LOCKED |
フラッシュ ロック / ロック解除機能をサポートしていないデバイス(つまり、常にロックされているデバイス)の場合や、フラッシュ ロック / ロック解除機能をサポートしていて、ロック状態にあるデバイスの場合に返されます。 |
FLASH_LOCK_UNLOCKED |
フラッシュ ロック / ロック解除機能をサポートしていて、ロック解除状態にあるデバイスの場合に返されます。 |
メーカーは、ブートローダーがロック状態の場合とロック解除状態の場合にそれぞれデバイスから返される値をテストする必要があります。たとえば、Android オープンソース プロジェクト(AOSP)には、ro.boot.flash.locked
ブート プロパティに基づいて値を返すリファレンス実装が用意されています。サンプルコードは、以下のディレクトリにあります。
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java
デバイスビルドを選択する
lunch
メニューから、おすすめのデバイスビルドが利用できます。このメニューには、引数なしで lunch
コマンドを実行するとアクセスできます。利用可能なビルドタイプや lunch
コマンドの詳細については、ターゲットを選択するをご覧ください。
Google Pixel デバイス用と Nexus デバイス用のファクトリー イメージとバイナリは、developers.google.com からダウンロードできます。ダウンロードに関しては、デバイス バイナリをご覧ください。詳細や追加リソースについては、プロプライエタリ バイナリを取得するをご覧ください。
デバイス | コードネーム | ビルド構成 |
---|---|---|
Google Pixel 6 Pro | raven | aosp_raven-userdebug |
Google Pixel 6 | oriole | aosp_oriole-userdebug |
Google Pixel 5 | Redfin | aosp_redfin-userdebug |
Google Pixel 4a (5G) | Bramble | aosp_bramble-userdebug |
Google Pixel 4a | Sunfish | aosp_sunfish-userdebug |
Google Pixel 4 XL | Coral | aosp_coral-userdebug |
Google Pixel 4 | Flame | aosp_flame-userdebug |
Google Pixel 3a XL | Bonito | aosp_bonito-userdebug |
Pixel 3a | Sargo | aosp_sargo-userdebug |
Pixel 3 XL | Crosshatch | aosp_crosshatch-userdebug |
Pixel 3 | Blueline | aosp_blueline-userdebug |
Pixel 2 XL | Taimen | aosp_taimen-userdebug |
Pixel 2 | Walleye | aosp_walleye-userdebug |
Pixel XL | Marlin | aosp_marlin-userdebug |
Pixel | Sailfish | aosp_sailfish-userdebug |
HiKey | HiKey | hikey-userdebug |
Nexus 6P | Angler | aosp_angler-userdebug |
Nexus 5X | Bullhead | aosp_bullhead-userdebug |
Nexus 6 | Shamu | aosp_shamu-userdebug |
Nexus Player | Fugu | aosp_fugu-userdebug |
Nexus 9 | Volantis(flounder) | aosp_flounder-userdebug |
Nexus 5(GSM / LTE) | hammerhead | aosp_hammerhead-userdebug |
Nexus 7(Wi-Fi) | razor(flo) | aosp_flo-userdebug |
Nexus 7(モバイル) | Razorg(deb) | aosp_deb-userdebug |
Nexus 10 | Mantaray(Manta) | full_manta-userdebug |
Nexus 4 | Occam(Mako) | full_mako-userdebug |
Nexus 7(Wi-Fi) | Nakasi(grouper) | full_grouper-userdebug |
Nexus 7(モバイル) | Nakasig(tilapia) | full_tilapia-userdebug |
Galaxy Nexus(GSM / HSPA+) | Yakju(maguro) | full_maguro-userdebug |
Galaxy Nexus(Verizon) | Mysid(toro) | √aosp_toro-userdebug |
Galaxy Nexus(試験運用版) | Mysidspr(toroplus) | aosp_toroplus-userdebug |
Motorola Xoom(米国、Wi-Fi) | Wingray | full_wingray-userdebug |
Nexus S | Soju(crespo) | full_crespo-userdebug |
Nexus S 4G | Sojus(crespo4g) | full_crespo4g-userdebug |
デバイスをフラッシュする
1 つのコマンドで Android システム全体をフラッシュできます。このコマンドは、フラッシュ対象のシステムと、インストールされているブートローダーおよび無線通信との互換性を検証して、ブート用、リカバリ用、システム用のパーティションをすべて書き込み、システムをリブートします。フラッシュすると、fastboot oem
unlock
と同様、ユーザーデータはすべて消去されます。
デバイスをフラッシュする手順は次のとおりです。
- ブート時に適切なキーの組み合わせを長押しするか、以下のコマンドを使用して、デバイスを
fastboot
モードにします。adb reboot bootloader
- デバイスが Fastboot モードになったら、以下のコマンドを実行します。
fastboot flashall -w
-w
オプションは、デバイス上にある/data
パーティションをワイプします。これは、対象デバイスを初めてフラッシュする際に便利ですが、それ以外の場合は不要です。
デバイスを出荷時の状態に復元する
Google デバイスのファクトリー イメージは、Nexus デバイスおよび Pixel デバイスのファクトリー イメージから入手できます。Motorola Xoom のファクトリー イメージは、直接 Motorola から入手できます。