「Fire TV Stick」を購入してから、わたしのスマートフォン「Nexus5X」には、Miracastの機能がないことに気づきました。
「Fire TV Stick」を購入時の記事はこちら
結局、わたしはNexus5XでMiracastを使うために端末のroot権限を取得しました。
文鎮化させつつも、Nexus5Xのroot権限を取得したときの内容はこちらをみて笑ってやってください。
そして今回は、いよいよNexus5XでMiracastが使えるように設定します。
本内容は、わたしの作業の記録です。
同様の作業をする際は、自己責任で行ってください。
ちなみにNexus6Pでも同様の方法でMiracastが使えるようになるみたいですよ。
はじめに
Nexus5XでMiracastを使用するには、リスクもあります。
後から後悔しないように、以下のことを知っておいてください。
- root権限を取得する必要がある(俗にいう端末のroot化)
- root化に必要なブートローダーアンロックをすると保証対象外になる
- root化やシステムファイルの編集に失敗すると復帰が困難な状態になる場合もある
- Nexus5XでMiracastが正常に動くのはAndroid 6系まで
- 何があっても自己責任
少しためらう内容になっていますよね。
これからroot権限の取得から行う場合は、これくらいの覚悟が必要になります。
この記事ではroot権限の取得方法までは書いていませんが、参考までに説明します。
root権限を取得する必要がある
通常のユーザ権限では編集できないファイルを編集しますので、rootという最高権限を取得する必要があります。
この権限を取得すると簡単に言うと、端末内では何でもできます。
端末の内の編集できないデータも編集でき、削除できないデータも削除して端末が起動できない状態にすることもできます。
何をしてはいけないかが判断できないひとが取得すると、とても危険な権限となっておりますので、扱いに気をつけましょう。
ブートローダーアンロックをすると保証対象外になる
root権限を取得する過程でブートローダーをアンロックするという作業があります。
rootを取る前の段階ですが、この作業を行った段階で端末は保証対象外になります。
壊れても自分で直すしか方法がなくなります。
またブートローダーのアンロックを行う際に、端末のユーザデータがすべて削除されるので、以下のような徹底的なバックアップをした方が良いです。
復帰が困難な状態になる場合もある
root権限取得だけではなく、今回の「Miracastに対応する方法」もシステムのファイルを編集する作業になります。
細かい設定や、手順を誤るとAndroidOSが起動しなくなったり再起動を繰り返したり、画面がつかなくなったりと復帰が困難な状態になります。
というか、わたしはなりました。
このような状態になっても適切に処置をすることで、復活することができましたが、いつもそうとは限りません。
その覚悟をもって行う必要があります。
わたしがroot権限取得からMiracast対応完了までに失敗した内容と復帰方法は、別の記事にまとめました。
Nexus5XでMiracastが正常に動くのはAndroid 6系まで
Nexus5XでMiracastが正常に動くのはAndroid 6系までです。
Android 7系では、今回の設定を行うと機能自体は出てくるんですが動作しません。
Android 7系を使っている場合は、Android 6系に戻す必要があります。
そのためAndroid 7の機能は使えなくなってしまいます。
わたしは「複数のメール受信通知がある場合でも通知領域から個別のメールを確認できる機能」が使えなくなったのがかなり痛いですね。
Android 7系でMiracastが使える方法が見つかれば良いのですが、未だ見つけられていません。
何があっても自己責任
ここに記載する方法は、あくまでも「わたしの環境でうまくいった方法」です。
インストールされているアプリや細かい設定など、環境が異なるとうまくいかない可能性もあります。
この記事ではroot権限の取得方法までは書いておらず、root権限を取得済みの状態を前提に書いていますので理解されているとは思いますが、同様の作業をする際は自己責任のもとでおこなってください。
Nexus5XでMiracastを使用できるようにする
いよいよNexus5XでMiracastを使用できるように設定していきます。
Android 6系かつroot権限は取得済みであることが前提です。
Nexus5XでMiracastを使用するためには、「build.prop」というファイルに設定を一行追記するだけですが、「build.prop」を編集するには、それなりの手順が必要になります。
バックアップを作成したときに設定した「adb」を使用しますので、設定ができていない場合は以下の記事を参考に設定しましょう。
build.propのパーミッションを変更
Nexus5XとパソコンをUSBデバッグ状態で接続します。
このままの状態だとbuild.propはパーミッション(アクセス許可)の設定により編集できません。
build.propのパーミッション変更するために、以下のコマンドをコマンドプロンプトから実行します。
> adb shell
$ su
# mount -o rw,remount /system
# cd /system
# chmod 666 build.prop
# exit
- adbでシェルを起動する(左側が$になる)
- SuperUser権限での実行を宣言
- /systemを読み書き可能な状態でマウントし直す
- /systemに移動する
- /system内のbuild.propのパーミッションを666に変更
- シェルを終了
これでbuild.propが編集可能になりました。
build.propをパソコンに書き出し
build.propをパソコンに書き出します。
以下のコマンドをコマンド プロンプトから実行しましょう。
> adb pull /system/build.prop <保存するパス>
- /system内のbuild.propを指定したパスにコピー
- 「保存するパス」にはパソコン上のパスを指定します
build.propがパソコン内にコピーされました。
build.propを編集
build.propをテキストエディタで開きます。
詳細は後で書きますが、保存形式を間違いなく設定する必要があるので「サクラエディタ」を使用しました。
展開したbuild.propの最終行にMiracast機能を表示するための一行を追記します。
注意するべきなのは、編集後の保存形式です。
build.propの保存時に以下の設定で保存しないと、端末が起動しなくなります。
文字コード | UTF-8 |
BOM | なし |
改行コード | LF |
重要なので間違えないようにしましょう。
編集前のbuild.propをバックアップ
編集前のbuild.propも念のため取っておきたいので、上書きしないようにリネームします。
> adb shell
$ su
# cd /system
# mv build.prop _build.prop
# exit
- adbでシェルを起動する(左側が$になる)
- SuperUser権限での実行を宣言
- /systemに移動する
- /system内の「build.prop」の名前を「_build.prop」に変更
- シェルを終了
ファイル名の頭にアンダーバーをつけました。
build.propを書き戻す
編集したbuild.propをNexus5Xに書き戻しましょう。
build.propを書き戻すには、以下のコマンドを実行します。
> adb root
> adb push build.prop /system
- adbでroot権限での実行を宣言
- /systemに編集後のbuild.propをコピーする
これでうまくいくはずだったのですが、わたしが行ったときは何故かうまく書き込めませんでした。
そこでパソコンのエクスプローラーからNexus5Xの適当なフォルダ(ダウンロードとか普通のフォルダ)に編集済のbuild.propを置いて、「ESファイルエクスプローラ」というAndroidアプリの「Rootエクスプローラ」でをオンにして/systemに移動しました。
美しい方法ではないですが、一度だけの作業なので忘れることにします。
build.propのパーミッションを元に戻す
最後に忘れてはいけないのが、build.propのパーミッションをもとに戻すことです。
パーミッションを644に戻さないと端末が起動しなくなります。
という訳で、build.propのパーミッションを元に戻してからNexus5Xを再起動します。
> adb shell
$ su
# mount -o rw,remount /system
# cd /system
# chmod 644 build.prop
# reboot
- adbでシェルを起動する(左側が$になる)
- SuperUser権限での実行を宣言
- /systemを読み書き可能な状態でマウントし直す
- /systemに移動する
- /system内のbuild.propのパーミッションを644に変更
- 端末を再起動
これでNexus5XでMiracastを使用するための編集は、すべて完了です。
Miracastの機能が表示されているか確認
作業完了したNexus5XでMiracastの機能が表示されているか確認しましょう。
- [設定]アプリを起動
- [ディスプレイ]を選択
- [キャスト]の項目が表示されていることを確認してタップ
- 右上のメニューを展開
- [ワイヤレスディスプレイの有効化]チェックボックスにチェックを入れる
一番下に[キャスト]の項目が表示されていますね。
タップして右上のメニューを展開してチェック
これで同一ネットワーク上にあるデバイスが表示されるはずです。
Nexus5Xの画面の共有先デバイスを待ち受け状態にすると、Nexus5Xの[キャスト]画面上で接続することができます。
Android 7系場合、ここまではAndroid 6系同様に操作可能ですが、接続後すぐに切断されてしまいます。
接続可能なデバイスもあるのかもしれませんが、少なくともわたしが試した「Fire TV Stick」ではすぐに切断されました。
おわりに
参考になったでしょうか。
わたしはこの記事に書いた方法で、Nexus5Xの画面をFire TV Stickにミラーリングすることができました。
子供の写真や動画を大画面で手軽に楽しめるようになって満足しています。
Nexus5X・Nexus6PユーザはMiracastの設定にこれだけ面倒な設定が必要ですが、Miracastを使ってみると手放せない機能になりますよ。
こんな良い機能なのに、なんで最初から使えないんだろうと思いました......
Fire TV Stick購入したときは、まさかこんなことをするハメになるなんて思いませんでしたが、なかなか楽しかったです。
そろそろAmazonプライム無料会員登録も試してみようかな?