Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

デバイスのフラッシュ

このページでは、各種のデバイス上でビルドを実行する際の詳細な手順や、ビルドを行うための準備を整えるに関する補足情報について説明します。

Fastboot と adb をビルドする

fastbootadb をまだ所持していない場合は、通常のビルドシステムを使用してビルドすることができです。ビルドの準備の手順に沿って、メインの make コマンドを次のように置き換えます。

make fastboot adb

Android Debug Bridge(ADB)について詳しくは、デバイスと通信するをご覧ください。

Fastboot モードでブートする

Fastboot は、デバイスをフラッシュできるブートローダー モードです。fastboot モードでブートするには、デバイスのコールドブート中に以下のキーの組み合わせを使用します。

adb reboot bootloader コマンドを使用して直接ブートローダーをリブートするか、コールドブート中に以下のキーの組み合わせのいずれかを使用してください。

デバイス コードネーム キー
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 以降)は、出荷時設定へのリセットに対する保護機能を備えています。そのため、ブートローダーのロックを解除するには、複数の手順を踏む必要があります。

  1. デバイスに対して OEM ロック解除を有効にするには、以下の手順を行います。
    1. [設定] で、[デバイス情報] をタップして、[ビルド番号] を 7 回タップします。
    2. 「あなたは開発者です」というメッセージが表示されたら、[戻る] ボタンをタップします。
    3. [開発者向けオプション] をタップして、[OEM ロック解除] と [USB デバッグ] を有効にします([OEM ロック解除] が無効になっている場合は、インターネットに接続して、少なくとも 1 回デバイスをチェックインします。無効のままだと、デバイスは携帯通信会社によって SIM ロックされ、ブートローダーのロックを解除できなくなります)。
  2. ブートローダーをリブートし、fastboot を使用してブートローダーのロックを解除します。
    • 比較的新しいデバイスの場合(2015 年以降):
      fastboot flashing unlock
    • 古いデバイスの場合(2014 年以前):
      fastboot oem unlock
  3. 画面上で、ロックが解除されたことを確認します。

ブートローダーを再ロックする

ブートローダーを再ロックするには、以下のコマンドを使用します。

  • 比較的新しいデバイスの場合(2015 年以降):
    fastboot flashing lock
  • 古いデバイスの場合(2014 年以前):
    fastboot oem lock

フラッシュ ロック状態を使用する

getFlashLockState() システム API は、ブートローダーの状態を送信し、PersistentDataBlockManager.getFlashLockState() システム API は、対応デバイスのブートローダーのロック ステータスを返します。

戻り値 条件
FLASH_LOCK_UNKNOWN 以前はブートローダー変更機能をサポートしていなかったデバイスを Android 7.x 以降にアップグレードしたことで、フラッシュ ロック / ロック解除機能をサポートするようになった場合に限り返されます。ブートローダー変更機能は、フラッシュ ロック ステータスを取得するうえで必要になります。
  • 元々 Android 7.x 以降を搭載している新しいデバイスの場合、FLASH_LOCK_LOCKEDFLASH_LOCK_UNLOCKED の状態になっている必要があります。
  • Android 7.x 以降にアップグレードしたデバイスで、アップグレード後もフラッシュ ロック / ロック解除機能をサポートしていない場合は、FLASH_LOCK_LOCKED 状態が返されます。
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 コマンドの詳細については、ターゲットを選択するをご覧ください。

Nexus デバイス用のファクトリー イメージとバイナリは、developers.google.com からダウンロードできます。ダウンロードに関しては、デバイス バイナリをご覧ください。詳細や追加リソースについては、プロプライエタリ バイナリを取得するをご覧ください。

デバイス コードネーム ビルド構成
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 と同様、ユーザーデータはすべて消去されます。

デバイスをフラッシュする手順は次のとおりです。

  1. ブート時に適切なキーの組み合わせを長押しするか、以下のコマンドを使用して、デバイスを fastboot モードにします。
    adb reboot bootloader
  2. デバイスが Fastboot モードになったら、以下のコマンドを実行します。
    fastboot flashall -w
    -w オプションは、デバイス上にある /data パーティションをワイプします。これは、対象デバイスを初めてフラッシュする際に便利ですが、それ以外の場合は不要です。

デバイスを出荷時の状態に復元する

Google デバイスのファクトリー イメージは、Nexus デバイスおよび Pixel デバイスのファクトリー イメージから入手できます。Motorola Xoom のファクトリー イメージは、直接 Motorola から入手できます。