Dropbox

自分でroot化したMoto X Pro (XT1115, Nexus6 中国版)に公式ソフトウェアの更新を入れたところブートループに陥りました。リカバリーするためにフルリストアが必要となりました。最初にNexus6のシステムをリストアしてみましたが残念ながら動きません。Moto X Pro用のリストア可能なシステムが必要ですがMotorolaは公開していません。そこで野良ファイルイメージを探してみました。

My Moto X Pro was bricked when I installed official system software update. I needed to restore system image. At the beginning, I tried to install Nexus6 system image, but it did not work. So, I realized I needed to find Moto X Pro system image. However Motorola does not provide factory image of Moto X Pro. Then I needed to find Moto X Pro file image on baidu.com.

最初に試したのは以下のBBSに書かれているものです。I tried system files from following BBS article.

http://bbs.gfan.com/android-7909275-1-2.html

ここにアップロードされているのはルート化済のシステムでした。手間がないとも言えますが、誰かが弄ったものであることは間違いありません。あくまでも自己責任の上で導入しなければなりません。

System file on this link was already rooted. It means somebody modified the system. If you install this system image, please do it with your own risk.

私が実際に導入したのは以下のファイルだけです。fastboot flashを行うためにはbootloader unlockが必要です。

I only installed following two files. You need to unlock bootloader before perform ‘fastboot flash’.

fastboot flash boot moto_x_pro_boot.img
fastboot flash system moto_x_pro_system.img

Bootloder unlockを行っているとブートの度に警告メッセージが出ますが、その画面を変更するためのファイルも入っています。まだ試してはいません。You will see ugly warning message during boot cycle if you unlock bootloader. This package includes the file to modify the ugly warning message. I do not try it yet.

fastboot flash logo moto_x_pro_logo_modifiedByCassius.img

BLUnlockWarn

 

すでにルート化されているので、後はgappsを入れれば普通に使えるようになります。TWRPを導入していれば本体の適当なところにgappsをzipファイルのままコピーしTWRPのInstallメニューで簡単に導入できます。

This system image is already rooted. We just need to install gapps package. I already installed TWRP, so I copied gapps zip file to somewhere in Moto X Pro and invoked TWRP Install menu to extract gapps to system partition.

数日間、使用してみましたが公式アップデートが導入出来ない以外には特に問題は無いようでした。

I used this system image for a couple of days. I did not see any problem except no way to apply official upgrade data.

MotoXProTWRP

以前、Nexus6用のTWRPを導入して失敗しましたがMoto X Pro (XT1115, Nexus 6中国版) に対応したTWRPを中国のサイトで見つけました。

I found TWRP for Moto X Pro on following web site.

http://www.lenovosj.com/motuoluola/motoxpro/2498.html

ダウンロードリンクはTWRPのスクリーンイメージの少し下にあります。Down load link is available just below of TWRP screen image.

进入下载地址列表

さらに次のページ中央付近で下のリンクをクリックします。Then click following link in middle of web page.  実際にはこの記事から直接下のリンクをたどっても同じと思います。Actually you can click following link to go download page.

本地下载

開いたページの上にある「下载(12.5M)」をクリックするとダウンロードが始まります。Then click 「下载(12.5M)」to download rar file.

展開するためにはrarというアーカイブを扱えるツールが必要です。To extract this file, you need to prepare archiver which supports rar.

あとはfastbootでフラッシュすればOKです。Just you need to use fastboot to flash recovery image.

fastboot flash recovery twrp-2.8.6.img

注意) 自己責任でお願いします。fastboot flashにはbootloader unlockが必要です。

Note: Please perform this procedure with your own risk. fastboot flash process needs ‘bootloader unlock‘.

Moto X Pro (Nexus 6中国版)はGPSの感度が良くて大満足だったのですが、ある時からとてつもなく不調になりました。現象はざっと、こんな感じ。

– GPS衛星がつかみにくいとかではなくて、まったく見えない。GPS Testというアプリで見ると、こんな感じ。A-GPSの効用かどうかは知りませんが、普通は衛星電波がまったくない状態でも衛星の番号とか位置が表示されます。それがまったく何も情報がない状態になります。

GPSTEST

– 時折、位置情報が取れるようになるが、ほどなくして上の状態に戻る。
– GPS TestでA-GPS情報を更新した瞬間に一時的に位置情報が取れるようになる時がある。

Cacheパティション消去したり、最後に導入したアプリケーション削除したりと2週間ほど頑張りましたが解決しなかったです。問題発生時は香港のChina UnicomのSIMを入れていましたが、それを中国のChina Unicomの4G SIMと入れ替えたあとは全く問題が発生していません。SIMを戻しても問題なしです(実際にはSIM戻し+APN変更)。どうなっているのでしょうね?

といったことを上海のIngress同志(違った、敵陣営だ)とSNSで会話していたら、これじゃねとGoogleに上がっているIssue 81140を教えてくれました。Oh I am not aloneですが、どうも解決策がないというか確定した再現方法が無いようです。GPSの掴みが悪いという現象自体はコードのバグ以外にも普通に存在するのでIssue 81140の全ての記述がバグに繋がっているかどうか怪しいので心して読んでください。

もし同様の問題に出会ったら、可能ならSIMを入れ替えてみる。あるいはAPN設定でAPNタイプにagpsを書き加えるあたりが今のところ有効なおまじないみたいな気がします。

ルート化しBootloader unlockを行ったので流れとしてカスタムリカバリーを入れようとしました。

Nexus 6に対応していると思しきTWRPをダウンロードしてfastbootでフラッシュしました。ところがrecoveryの起動手順をとっても、またfastbootに戻るだけでした。例の「コマンドが指定されていません」画面にもなりません。

携帯電話として使用するのには問題はありませんが、リカバリーが起動できないのは気持ち良くないです。

XDA DevelopersにMoto X Proのファクトリーイメージ(記事中の2つめのリンク)を投稿している人がいました。それを解凍してrecovery.imgだけをfastboot flash recovery recovery.imgで焼いた所、ちゃんとrecoveryが立ち上がるようになりました。CWM recoveryなども試してみようと思っていましたが、必要がないのでやめておきます。

N6Recovery

因みにRecoveryを起動しようとすると上のような画面になります。ここでPowerボタンを押したままVolume Upを一度押すとRecoveryメニューが出ます。

一番の目的は中華アンドロイドには導入されていないGoogleのサービスを使えるようにすることです。従ってルート化は目的では無く、その手段であります。

Chinese Android Mobile Phone does not support Google services. I want to install Google Application Framework on my Moto X Pro. This is my objective to get root.

最初は中国で良く使われている一発ルート化的なツールを試してみましたが、まだ対応出来ていないようでルート化することは出来ませんでした。

Nexus 6でのルート化情報を頼りにルート化しました。Nexus 6とは手順に若干の違いもありますので、まとめておきます。

Chinese one-click-root tools seem to be not support Moto X Pro yet.  I used Nexus 6 rooting information.

ルート化に挑戦すると時には端末が使えなくなる危険もあります、またメーカー保証も外れる可能性がありますので、自己責任な手法であることを予めご承知ください。ポイントだけ書いて細かいことは書かないのも、良く分かっている人向けということで了承願います。

If you try rooting your phone, please take your own risk.

[ SDK導入とUSBドライバーの導入 / Install Android SDK and USB drivers ]
私はMac OS XとWindowsの双方でAndroidの開発環境が揃っていましたので、新たに何も導入する必要はありませんでした。adbとfastbootが使える環境とWindowsの場合は、手作業でfastboot用のUSBドライバーを導入して置く必要があります。ここでは詳しくは解説しません。以下のページが詳しく書いてあるので参考までにリンクしておきます。

Android SDKのインストール方法と最新のplatform-toolsをダウンロードする方法。

Nexus6のドライバーインストール方法。(ただし、ドライバー自体は上の手順の中でもダウンロード出来るはずです)

You need to install Android SDK and USB drivers for ADB and FASTBOOT, if you do not have installed them. I do not write detail about this here.

MotoXProUnlocked[ Bootloader unlock ]
インターネット上で見つかるNexus 6のBootloader unlockはfastboot oem unlockだけで完結していますがMoto x Proで試したところUnlockのためのコードが必要になっていました。このコードはMotorolaのWebサイトで入手することが可能です。

– Motorolaサイトのユーザー登録あるいはGoogleでのログインが必要
– Webサイトの指示に従い、fastboot oem get_unlock_dataコマンドで取得したデータを入力するとunlockコードがメールされてくる
– fastboot oem unlock xxcodeでアンロックする(xxcode = 送られてきたunlockコード)
– 念のためfastbootを再起動しておきます

We need to get unlock code from Motorola web site to unlock bootloader of Moto X Pro. It seems to me, no unlcok code is required on Nexus 6.

– You need to sign up Motorola web site or use Google ID login
– Follow web site instruction. Fill up unlock data gathered by ‘fastboot oem get_unlock_code’ command to the web site. Then you will receive unlock code by e-mail
– ‘fastboot oem unlock unlock_ocde’ to unlock bootloader  (replace unlock_code with unlock code you got)
– Reboot fastboot for safe

[ ルート化  / Get root]
CF-Auto-Rootを使用しました。使い方は簡単でfastbootモードで接続し、添付されているスクリプト(Windowsの場合はroot-windows.bat)を実行するだけです。

Just use CF-Auto-Root for Nexus 6 to get root. Put the phone to fastboot mode and connect USB. Then run script which contained CF-Auto-Root package.

[ Recoveryの書き換え – 失敗、断念  / Custom recovery installation was failed ]
TWRPを導入しようとしましたが、うまく起動できませんでした。これについては別途お知らせいたします。

TWRP does not run on my Moto X Pro. I gave up to use it.

[ Googleサービスの導入 / Install Google service framework ]
カスタムRecoveryがあればgappsをそのまま導入出来るのですが、recoveryの書き換えを断念しましたので手作業にてGoogleサービスを入れてみました。

Since no custom recovery tool. I installed gapps manually.

CM12用のgappsパッケージ、私の使用したのは gapps-lp-20141212-signed.zip です。まず、このファイルの中身をどこかに展開しておきます。

I used gapps package for CM12, gapps-lp-20141212-signed.zip. At first, please unzip the file contents.

大雑把に言うと、gappsの中の/system/prev-app/と/system/app/以下のフォルダー、ファイル全てをMoto X Proの同じフォルダーにコピーすればOKです。

I copied application folders under /system/prev-app/ and /system/app/ of gapps package to same folders of Moto X Pro.

もう少し噛み砕いて書いておきます。
– WindowsのExplorerから(あるいはMacでAndroid File Transferを用いて)gappsを展開したなかかから/system/appを丸ごとDownload/xxtemp/以下にコピー。同様に/system/prev-appもコピー。
– adb shellに入り以下を実行
$ su
# mount -o rw,remount /system
# cp /sdcard/xxtemp/* /system/app
# chmod -R 6755 /system/app/GoogleContactsSyncAdapter
-> などと全てのアプリケーションに対して実行。わたしの場合、prev-app下に11のアプリケーション、app下に13のアプリケーションがありました。
# reboot

以上です。

Some more details…
– Using Windows Explorer (Or Android File Transfer on Mac OS X), copy all folders and files under ‘/system/app’ of gapps to ‘Download/xxtemp/app/’ of the Moto X Pro. Do same thing for ‘/system/prev-app’.
– Run adb shell and do followings.
$ su
# mount -o rw,remount /system
# cp /sdcard/xxtemp/* /system/app
# chmod -R 6755 /system/app/GoogleContactsSyncAdapter
-> perform ‘chmod -R 6755 to all application folders. In my case, there were 11 applications under ‘prev-app’ and 13 applications under ‘app’.
# reboot

 

Moto X Pro, Nexus6の売りのひとつに急速充電があります。普通のUSB充電器に接続しても急速充電は行われません。本体に付属している専用充電器を接続した時のみ急速充電が可能になります。
MotoXProHispeedCharge
例によってUSB電圧電流計を接続してみると、見たことのない電圧表示になりました。このUSB電圧電流計は通常のUSB電圧しか想定していない可能性もありますので、この数値が正確なものかどうかは不明です。電源に書いてあるスペックによると、標準: 5V 1.6A, 快速1: 9V 1.6A, 快速2: 12V 1.2Aなどと書かれています。一応、他のデバイスを充電してみると5Vしか出ないので他のデバイスとの共用も可能なようです。

もうひとつ無線充電Qiに対応しているのも嬉しいところです。
MotoXProQi
充電台の上に正しく設置すると、画面に上の表示が現れます。少しずれると充電されなくなるので、あまりバタバタした環境ではよろしくないです。充電中であるかどうかは充電台のLED表示などでも確認できます。

MotoXPro

Moto X Pro (XT1115), Nexus 6の中国大陸バージョンです。見た目はNexus 6そのものですが裏面にNexusロゴはありません。

MotoXProRear

ハードウェア的には中国移動の3GであるTD-SCDMAに対応していたりしますが、外観とか基本的な機能、スペックはほとんどNexus 6と同じと見て良さそうです。

中国大陸で売れられているAndroid端末は全てGoogleのサービスを使用しないように設定されています。Moto X Proも同様です、それが故にNexus 6を名乗ったまま中国大陸で販売することは出来なかったのだと思います。

中国でも家電量販店で販売されている端末も特定キャリア向けの場合、キャリア固有のアプリケーションが入っていたりしますが(日本ほど醜くはありません)、Moto X Proは全てのキャリアで使える端末であるからか、そういったものが一切入っていません。アプリケーションの一覧は一画面に収まっています。

MotoXProAppli

日本語のサポートは完璧です。言語を日本にするだけで表示も入力も特別に追加のダウンロードなどもなく素直に使えるようになりました。

VPNも標準の状態で問題なく設定し接続することが出来ました(PPTPのみテスト)。

Googleにこだわらなければ、これで使用する事が出来ます。私は、やはりどうしてもGoogleのサービスを入れたいので、このまま使用することは無くルート化へと進みます。

phem一部の方々には懐かしいPalm OSがAndroid端末上でそのまま再現できるPHEMの紹介です。 Palmについて多くを語る必要は無いでしょう。PHEMはM68kベースなPalmのハードウェアのエミュレータです。純粋にエミュレータだけですので稼働するためにはPalm OSのROMイメージファイルが必要です。ここが若干、敷居を高くしてる感じがありますがROMイメージファイルさえ入手出来れば動作させるのは難しくありません。PHEMを日本語で紹介されているミニーの独り言さんのブログには英語版ROMイメージの入手方法が紹介さています。もし実機を持っている場合は実機からROMイメージファイルを作成する方法もあります。

PHEMはGoogle Playで有料で公開されています。有料と言っても99円ですので気軽に購入出来ます。

起動するとROMイメージファイルの導入先のディレクトリーがメッセージで示されます。私のTCL Heroの場合は/storage/sdcard0/phem/romでした。そこにROMイメージファイルを保管します。複数のイメージファイルを持たせて必要に応じて選択する事が出来ます。この辺りの操作は分かりやすく作られていますので、実際に試せば迷うことは無いでしょう。

私はパームウェアの開発を行っていましたので古いHDDに幾つものROMイメージファイルを持っていましたので、それでPHEMを起動しました。上のキャプチャー画面のように日本語ROMイメージも動きました。本当はCLIEのハイレゾ画面で稼働したかったのですが現在のところPHEMではCLIEのROMイメージファイルは起動できません。この辺りの事情もミニーの独り言さんKaleidoscopeOnPHEMが詳しく書かれています。

無事PalmOSが起動できたのでアプリケーションを導入してみます。Androidのストレージの適当なところにパームウェアのファイル(拡張子がprc等のもの)を保管しておきます。

phemInstall PHEM上部の左のアイコンをタップするとファイルを選択するダイアログが出ますのでパームウェアのファイルを選択すると導入が行われます。右のキャプチャー画面は私の唯一の公開パームウェアである「かれいどすこーぷ」を実行した画面です。このパームウェアは出来ればハイレゾ画面で起動したいところです。

TCL Hero N3 Y910を使用していて偶然に見つけた便利操作です。Androidに共通なのかTCL特有のものかは分かりません。

– 全てのアプリケーションの一覧であるメインメニューはホーム画面を下から軽くスワイプするだけで表示できます。

– ステータスバーから開くバッテリー、WiFi, HOTSPOT, BLUETOOTHなど各種ステータス確認や機能のオフ、オンが出来るアイコンを長押しすると該当の設定画面がひらく。

TCL_Dual_Window[ Dual Window機能 ]
– 左下の戻るキーを長押しするとトレイを開くためのタブを表示、非表示出来る。
– トレイの中から最初のアプリケーションを起動。
– 2つ目のアプリケーションはトレイの中から画面の上か下側にドラックして起動。

トレイに入れられるアプリケーションが予め決まっているみたいなのが、ちょっと残念です。

TCLBP60LengthTCL Hero N3 Y910にはオプションでBP60 sidekickというBluetooth接続の携帯電話子機が用意されています。

Hero本体は6インチ画面と大きいですし重量も230gほどあり通話していると少々疲れます。そこでBP60の出番です。長さは11cm強、重量は50gほどです。本体とはBluetoothで接続します。

写真でも分かるように単なるBluetoothヘッドセットではありません。普通の携帯電話のように使用できます。本体の電話帳も参照出来ますしSMSの発着信も可能です。Hero以外の携帯電話に接続した場合は普通のヘッドセットの機能だけになります。兄弟機TCL idol Xにも接続してみましたがヘッドセット以上の機能は使えませんでした。現在のところHero専用ということです。

HeroはDual SIM機です。BP60では両方のSIMからの着信およびSMSの受信が可能です。発信についてはHero側でDefaultとして設定されたものが使用されます。

当然、SMSは簡体字対応です。残念ながら表示については繁体字が入っていません。なぜか平仮名と全角カタカナは入っているので日本語SMSを受信した場合、豆腐だらけになるものの意味はだいたい分かります。

Bluetoothの接続はとても良く20mくらい離れていても平気です。自宅だと本体の場所を気にせず子機だけ持って歩いても大丈夫です。そんな調子なのでオフィスでも本体をデスクに置いたまま子機だけ持って歩きまわってしまいます。接続が切れる時は静かに切れるので気づきません。再度、接続された時には小さな電子音がします。切れるときにも音が鳴ってくれた方がありがたいです。

電池の持ちは、純粋な待受だけだと2日半ほどです。普段SMSと微信での連絡ばかりで通話はほとんどしないので2日に一度充電すれば十分です。

[ 今ひとつな所 ]
– SMSを受信した場合、本体とBP60の双方に未読として表示されます。どちらかでSMSを読んだ後も他方の未読は残ったままです、未読状態を解消するには双方でSMSを開く必要があります。
– 電話帳の検索で中国語が入力出来ない。英数字のみで検索しないといけないです。普通の中国人の電話帳だと漢字ばかりだと思うので、かなり不便な気もします。将来のバージョンでは直りそうな気もします。

PlasticClipTCLBP60StrapBP60はあまりに小さく軽いので無くしてしまいそうです。そこでストラップを取り付けるために一工夫してみました。分解するのはなかなか大変そうなので、単純に背中にプラスチックの板を貼り付けることにしました。

材料は食パンの袋に付いているクリップです。これを適当に切って金属のリングを取り付けて瞬間接着剤で付けてみました。瞬間接着剤がBP60の表面にめちゃくちゃ馴染むので想像以上にしっかりと接着できました。もうほとんど一体化していると言っても良いほどです。