Android x86のインストール手順とトラブルシューティング完全ガイド
デスクトップPCでAndroidを体験したいユーザーのために、AndroidベースのOSはいくつか存在します。しかし、その多く(PrimeOS、Remix OS、Phoenix OSなど)は、実質的にAndroid x86のフォークです。これは、かつてAndroid x86の開発が一時停滞し、その間に他の開発者たちが開発を引き継いだためです。
ところが、Android x86は近年安定したアップデートをリリースしており、Android Oreoへの更新も含まれています。デスクトップで快適なAndroid体験を求めるなら、まず本家のAndroid x86を試すのがおすすめです(例えばRemix OSは、すでに開発が完全に停止しています)。
必要なもの
- Android x86のISOファイル
- UNetbootin
Ubuntuをお使いの場合は、ターミナルで以下のコマンドを実行してUNetbootinをインストールできます。
sudo apt-get install unetbootin
Arch Linuxの場合はこちらです。
pacman -S unetbootin
USBメモリからのインストール手順
- UNetbootinを起動し、Android x86のISOファイルを指定します。
- 「USBドライブ」を選択してOKをクリックします。
- UNetbootinがAndroid x86をUSBメモリにコピーし、ポータブルなインストーラーを作成します。
- 処理が完了したらPCを再起動し、BIOSメニューに入ります。
- BIOS内の、特定のメディア(HDD、CD、USBなど)から直接起動できる設定ページを探します。
- USBフラッシュドライブから直接起動するよう選択します。
- GRUBメニューが表示されるので、Android x86をハードディスクにインストールする項目を選びます。
- インストール先のパーティションを選択します。よくわからない場合は、パーティションをフォーマットしないでください。もちろん、他のOSのパーティションを上書きしないよう十分注意してください。
- GRUBをインストールするかどうか尋ねられます。Windowsのみを使用していて、他にLinux OSがない場合は「Yes」を選択してください。すでにLinux OSやGRUBが導入済みのPCに上書きインストールするのは避けるべきです。
- 次に「Make system R/W」(システムを読み書き可能にする)かどうか尋ねられるので「Yes」を選択します。これによりAndroid x86がroot化され、/systemパーティションへの読み書きアクセスが有効になります。
- PCを再起動すれば、新しいAndroid x86環境の完成です。
CD/DVDからのインストール
手順はほぼ同じですが、Android x86のISOから起動可能なCDを作成する点が異なります。ISO書き込みソフトは多数ありますが、Free ISO Burnerなどが手軽でおすすめです。
仮想マシンへのインストール
- VMのRAMを最低512MB以上に設定します。最新のOreoベースのAndroid x86であれば、もう少し多めに設定した方が快適に動作します。
- VMの設定でAndroid x86のISOファイルを読み込み、VMを起動します。
- GRUBメニューが表示されたら、ハードディスクへのインストールを選択します。
- 新しいパーティションを作成し、そこにAndroid x86をインストールします。パーティションは対応形式(ext3、ext2、ntfs、fat32)のいずれかでフォーマットしてください。fat32を選択すると、データを保存できないという警告が表示され、Android x86はライブCDとして動作します(使用中のデータはシステムに保存されません)。
- ブートローダーGRUBのインストールを尋ねられたら「Yes」を選択し、R/W設定も許可してrootを有効にします。
- すべて完了したら再起動します。
GRUBメニューにAndroid x86を追加する方法
まずGRUB Customizerをインストールしておくと、作業が格段に楽になります。
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
GRUB Customizerを起動し、新しいGRUBエントリを追加します。
「Sources」タブをクリックし、以下のコマンドを入力します。
set root='(hd0,4)'
search --no-floppy --fs-uuid --set=root e1f9de05-8d18-48aa-8f08-f0377f663de3
linux androidx86/kernel root=UUID=e1f9de05-8d18-48aa-8f08-f0377f663de3 quiet androidboot.hardware=generic_x86 SRC=/androidx86 acpi_sleep=s3_bios,s3_mode
initrd androidx86/initrd.img
コマンドの一部を太字にしていますが、これらはご自身の環境に合わせて変更が必要な箇所です。
set root='(hd0,4)' の部分:(hd0,4)を、Android x86がインストールされているパーティションに変更します。hd0はSDAを意味するため、SDBにインストールした場合はHD1となります。後ろの数字はパーティション番号です。たとえばhd0,4はSDA4を指し、SDA6にインストールした場合はhd0,6に変更します。
--set=root e1f9de05-8d18-48aa-8f08-f0377f663de3 の部分:このランダムな文字列は、Android x86がインストールされたパーティションのUUIDです。正しいUUIDに変更する必要があります。正しいUUIDを確認するには、GRUB Customizerで新規エントリを作成し、「Options」タブのドロップダウンから「Linux」を選択します。続いてパーティションのドロップダウンで対象パーティションを選び、「Source」タブに移動するとUUIDが表示されます。
androidx86/ の部分:これはAndroid x86のルートディレクトリです。実際のAndroid x86のルートに変更してください。Android x86のパーティションに移動すると「android」という名前のフォルダがあり、それがインストールのルートです。
androidboot.hardware は、使用するデバイス固有の値です。古いバージョンのAndroid x86(Android 4.03系など)では、androidboot_hardwareのようにピリオド(.)ではなくアンダーバー(_)に変更する必要があります。ただし、最新のAndroid x86ではこの設定は不要です。カーネルのコマンドラインでandroidboot.hardwareが設定されていなくても、initプロセスがro.hardwareの正しい値を自動的に取得するためです。
hardwareに指定できる主な値は以下の通りです。
- generic_x86:お使いのハードウェアがリストにない場合はこれを使用
- eeepc:EEEPCノートPC
- asus_laptop:ASUSノートPC(対応機種のみ)
Google Play以外でアプリを入手する方法
Android x86はAndroid Market(現Google Play)を利用できないため、アプリの入手には別の手段が必要です。
まず「提供元不明のアプリ」を有効にします。「設定」→「アプリケーション」→「提供元不明のアプリ」をオンにし、警告ダイアログは無視して構いません。
これでGoogle Play以外からAPKをダウンロードしてインストールできるようになります。サードパーティ製アプリストアは数多く存在しますが、安全性には十分注意してください。比較的信頼できるストアは以下の通りです。
- XDA Labs
- AndAppStore
- Aptoide
- APKMirror
バッテリー残量を正しく表示する方法
Androidは特定のバッテリーを前提として開発されているため、AndroidベースのOSは異なるハードウェアプラットフォーム(ノートPCなど)では誤ったバッテリー値を表示することがあります。これを修正するには、いくつかの調整が必要です。
Linuxでは、アプリケーションはsysfs経由でバッテリー状態を取得します。バッテリー情報は /sys/class/power_supply/ に格納されています。しかし、プラットフォームによって /sys/class/power_supply/ 以下のディレクトリ構成は異なる場合があります。一方、Androidはディレクトリ構成を /sys/class/power_supply/ にハードコードしています。この問題を解決するには、vendor/asus/eeepc/system.prop に新しいエントリを追加します。ユーザーはこれらのエントリの値を変更することで、プラットフォームごとのsysfsディレクトリ構成を正しく設定できます。エントリは以下の通りです。
ro.sys.fs.power_supply.ac=/AC0
ro.sys.fs.power_supply.bat=/BAT0
ro.sys.fs.power_supply.ac.feature.online=/online
ro.sys.fs.power_supply.bat.feature.status=/status
ro.sys.fs.power_supply.bat.feature.present=/present
ro.sys.fs.power_supply.bat.feature.capacity.now=/charge_now
ro.sys.fs.power_supply.bat.feature.capacity.full=/charge_full
ro.sys.fs.power_supply.bat.feature.voltage.now=/voltage_now
ro.sys.fs.power_supply.bat.feature.voltage.full=/voltage_full
ro.sys.fs.power_supply.bat.feature.tech=/technology
#ro.sys.fs.power_supply.bat.features.bat.health is not supported
#ro.sys.fs.power_supply.bat.features.bat.temperature is not supported
要するに、これらのエントリはAndroidのバッテリーサービスのコードに対して、正しい場所から情報を取得するよう指示するものです。
独自のバッテリー状態処理コードを実装したい場合は、frameworks/base/libs/utils/IBatteryServiceStatus.cpp 内の IBatteryServiceStatus クラスを再実装し、frameworks/base/libs/utils/BatteryServiceStatus.cpp を独自の実装に置き換えるだけでOKです。
スリープ状態からマシンを復帰させる方法
他のOSとは異なり、マウスを動かしたり適当なキーを押したりしても、スリープ状態から復帰できません。
復帰に使用できるのは、ESC、Menu、上下左右キーのみです。システムを起こすには、これらのキーを少なくとも1秒間押し続ける必要があります。キーガード画面が表示されているときはMenuキーで画面ロックを解除でき、マウスでキーガード画面のホイールを回して解除することも可能です。
非対応グラフィックスでAndroid x86を起動する方法
Live-CDの起動時、さまざまな起動オプションが並ぶメニュー画面でTabキーを押すと、ブートプロンプトが表示されます。
以下のような行が見えるはずです。
kernel initrd=/initrd.img root=/dev/ram0
androidboot_hardware=generic_x86 acpi_sleep=s3_bios,s3_mode video=-16
quiet SRC= DATA= DPI=240
まず、この行から「quiet」を削除してみましょう。そうするとカーネルメッセージが表示され、何が起きているのかを確認できるようになります。
次に、異なるビデオモードのパラメータを設定できます。NoModeSet を使うと、カーネルモード設定が無効になり、カーネルが自動的にグラフィック解像度を設定しなくなります。あるいは Xforcevesa を使うと、VESAドライバーの使用が強制されます。
これらのパラメータをいろいろと組み合わせて試し、お使いの環境に合うものを見つけてください。「nomodeset xforcevesa」のように、両方を同時に指定することもできます。
-
【解決法】Androidで「緊急通報のみ」「圏外」と表示される問題を直す6つの方法
多くのAndroidユーザーが、「緊急通報のみ」や「圏外(サービスなし)」という表示に悩まされた経験があるのではないでしょうか。この状態になると、電話の発着信はもちろん、SMSの送受信も一切できなくなってしまいます。さらに厄介なのは、Wi-Fi環境がない場所でモバイルデータ通信まで使えなくなるケースです。 本記事では、Android端末で発生する「緊急通報のみ」「圏外」エラーの原因と、確実に役立つ6つの解決策を詳しく解説します。最後まで読めば、もう通信トラブルで困ることはなくなるでしょう。 Androidの「緊急通報のみ・圏外」エラーを解消する方法 「緊急通報のみ・圏外」エラーとは? And
-
【保存版】Androidスマートフォンの困ったを解決!究極のトラブルシューティング完全ガイド
スマートフォンを使っていると、さまざまな不具合に遭遇することがあります。「毎回調べるのが面倒…」「一つの記事でまとめて解決できないの?」と思ったことはありませんか?この記事では、Androidユーザーがよく抱える問題をピックアップし、それぞれの解決方法をわかりやすく解説します。ぜひブックマークして、トラブル発生時のリファレンスとしてご活用ください。 Androidスマートフォン トラブルシューティング完全ガイド 注意: Android端末はメーカーによって設定項目や操作方法が異なります。そのため、本記事で紹介する手順がお使いの端末と多少異なる場合があります。スクリーンショットはSamsung