2015年6月30日火曜日

LMTlauncherでナビバー代わりを有効化する

今回は比較的ライトなところで。
LMTlauncherを使っています。目的は縦画面の時はナビバーを完全に隠しているため、これの機能を何らかのアプリで補う必要があるからです。
簡単なインストール方法は以前にも書きましたが、歳のせいか物忘れがひどくISASの有効化方法をすっかり忘れていました。という訳で備忘録がてら記載します。

1.LMTlauncherのダウンロード+インストール

こちらのサイトからダウンロードして下さい。野良アプリ扱いのため、当然「セキュリテイ」→「提供元不明のアプリ」を有効化する必要があります。
また、インストール後は「ユーザ補助」の「サービス」でLMTをonにし、ゼスチャーを有効化する必要があります。
(おまけですが、Greenifyでもここのサービス有効化が必要です。)

2.設定する

アプリドロアにあるLMTから起動すると、「SETTINGS」タブの「GENERAL」に「ACTIVATE LMT」があるので有効にします。
また、「AUTOSTART LMT」にもチェックボックスを入れます。

次に「SET ACTIVE FEATURES」をクリックし「Define feature set」で「Gestures, ISAS and pie」を選択します。
これはLMT launcherの3つの機能を有効化するための処理です。
LMTには以下の3つの機能があります。

  1. pie:標準機能。円弧状のメニューを表示します。最初見た目がイヤでしたが、片手使いには本当に便利です。
  2. Gestures:デスクトップ上で規定されたゼスチャーを行うとコマンドを実行するものです。自分は使っていないので余りわかりませんが、便利だと思います。
  3. ISAS:仮想のナビバーが存在するに振る舞う操作です。正確には画面外からスワイプして操作します。自分のようにナビバーを完全に隠した場合は非常に役立ちます。


ISASだけ使えれば良いと思いがちですが、pieは保険だと思っておけばいいかと思います(逆にナビバーを隠しているためLMTが動作しないとまともに使えなくなる)。また、ISASはGesturesの一種なのでISASを使うには上記の設定が必要ということです。

次に、「GESTURE RECOGNITION」で「AUTO CONFIGURATION」を指定します。
LMTのダウンロード先でも英文で書かれている通り自動設定をまず行ってみてどうしてもうまく動かない場合はその下の設定で調節してみて下さい。
ちなみにZ(C6603化済み)・Z3(D6653)では、
Input device=1
Touchscreen/screen factor x=100%
Touchscreen/screen factor y=100% となりました。

次はISASを使用する際のPIEの表示位置を規制します。「PIE ACTIVATION」をクリックしデフォルトのallから変更します。私の場合は左右で表示したいので「Left and right」にしました(ここはISASを有効化した場合は"all"は選択できなくなるようです)。

最後に「ISAS」タグに移動し「INVISIBLE SWIPE AREAS BOTTOM」を以下の通り設定します。要はLollipopの標準のソフトキー配置にする場合はこの通りってことです。

  1. 「ISA 1」BACK
  2. 「ISA 2」HOME
  3. 「ISA 3」RECENTAPPS
当然AREAのTOP・LEFT・RIGHTにそれぞれゼスチャーを割り当てると最大12個のISASを操作可能になります。私はナビバーの代わりで充分なため、BOTTOMに3つだけ割り当てしています。

設定後、画面外からドックのちょっと上までスワイプし「ホーム」・「バック」・「アプリ履歴」が全て正常に動作するか確認して下さい。
また、画面の左右からスワイプした際に円弧形のメニューが表示されるか確認してみて下さい。

3.カスタマイズ方法

LMTの標準アイコンはNexusなどのAndroid標準アイコンです。
実は/mnt/sdcard/Android/data/com.android.lmt/files/に指定の名前のPNG(back.png・home.png・menu.png・recentapps.png)ファイルを入れることで変更できます。という訳で、私の使っているLollipopとKitkat用のPNGファイル貼っておきますので自由に使って下さい。
この画像ファイルを既定のフォルダに複写後、LMTの設定は「PIE ICONS」の「SHOW AND SCALE USER IMAGES」を2にして下さい(自動拡大表示させる)。



2015年6月21日日曜日

通勤を快適に(ノイズキャンセラで)

現在公共交通機関で通勤中です。
スマホに楽曲データを入れて聞いているのですが、コンプライ(ウレタンスポンジのヘッドフォン)でもそれなりに騒音は入ります。
というわけで、Z2からはノイズキャンセラが入ったので、今回はその検証をします。

1.ノイズキャンセル機能付きヘッドセットを購入する

ノイズキャンセル機能を使用するには、ソニーから対応ヘッドセットを購入しなければ鳴りません。なぜなら、周囲の雑音を消すためにマイクで集音し、雑音の逆位相の音をイヤホンに流す方法で雑音を打ち消しているからです。
2015年6月現在では以下の機種が販売されています。
31EMは5,500円します。ちょっとでも安く手に入れたいと思うなら、実はヤフオクがお得なの知ってますか?
設定→音と通知→アクセサリー設定→ヘッドホンで選択可能なノイズキャンセリングヘッドセットの名称のうちノイズキャンセル対応イヤホンは「MDR-NC31E/NC31EM」ですが、MDR-NC31Eをヤフオクで探します。
値段は新品でも2,000円程度です。送料込みでも半額程度でお得ですよね。
ただし、ノイズキャンセリング機能付ウォークマンの補修部品らしいので送付される物品は味気ないビニル袋です。また、ものによってはケーブル長が非常に長いものやフォーンプラグにウオークマン用のプラグカバーが付いているものも有りますのでよく写真を見て下さい。
ネットの噂によるとNC31の方がフラットな音質らしいです。ちなみにEMがつくと純正でマイク通話の機能が保障されてますが、NC31Eでも普通に使えたことを報告します。

2.ウォークマンアプリ以外でノイズキャンセリング機能を試す

フォーンジャックに差しこめばヘッドセットを認識しノイズキャンセリング機能が現在有効かどうかが通知に表示されます。その通知の右側にある「NC」意匠をクリックすると機能の有効・無効をトグル切替えできます。
ちなみにノイズキャンセリング機能をONの状態のままフォーンプラグの引き抜きを行うとかなり盛大にイヤホンからブッというノイズが鳴ります。これが嫌なら引き抜き前にOFFにして下さい(正直ごくまれに同じノイズが音楽視聴時にこのノイズが鳴るのを何とかして欲しいです)。
ノイズキャンセリング機能が有効化すると、イヤホンユニットの側面についたマイクから外部の騒音を拾い、イヤホンからこの音声の逆位相の音を元の楽曲にプラスした音声を流すという仕掛けです(ソフトウェアエミュレーションでも動きそうですが、バッテリ消費はデカそうですね。Z3のノイズキャンセル機能はハードウェアで実現しているようでバッテリ消費は比較的少ないという自己評価です。)
ちなみにWalkman(あ、今はミュージックか)アプリで鳴らしたほうがこのイヤホンはいい音しますが、機能上他のアプリを使いたいと思うことがあると思います(たとえばPowerampではギャップレス再生や、アルバム再生終了時に自動的に次のアルバムを再生可能)。Powerampの場合、従来有効化していたDVCとイコライザを無効化したほうが正直音質は良いです(Xperia側のシステムでの音質調節に任せる)。

3.シリコンゴムのイヤーピースが変形している場合

輸送中の梱包の影響のせいか、片側のマウスピースが変形していました。使い続けていると形は直るのでしょうがちょっと耳との間で隙間があるらしく、遮音性が悪い。
という訳で、ちょっと考えてみました。
このイヤーピース、純正でハイブリッドタイプがSONYから販売されています。要はイヤーピースの内側に発泡スポンジが入っており、これによってさらに遮音性を高めてます。またもう一つの仕組みとして発泡スポンジの強度でシリコンゴムのイヤーピースの形状を保っているのではないかと。
実はこのヘッドセット購入前にゼンハイザーのCX175を使っていたのですが、コンプライのイヤーピースに差し込む際にイヤホンユニット内部の配線をが切ってしまったらしく、使わなくなったイヤーピースがあったことを思い出しました。
そのままだとちょっと長いので半分に切ったら丁度良いサイズになったので、これをイヤーピースの内側に仕込んだらシリコンゴムの外装の変形は抑えられかなりいい感じになりました。
さらにコンプライは長年の使用により(体の脂で)劣化するのですが、シリコンゴムの外装で保護されるから長持ちするのではと期待しています。
あ、コンプライを切る場合は中心軸の塩ビ管を抜いてから完全に潰して下さい。うまく塩ビ管を抜けないなら先に半分に切ってから抜くとよいでしょう。その際切り口が汚ければ再度切り直せばいいだけです。
あと、発泡ウレタンの耳栓をコンプライ代わりに使うワザもあるようなので、同じ方法で真ん中の遮音層を作ることも可能だとおもいます(この時耳栓の中心軸をポンチで穴開け必要です)。

2015年6月14日日曜日

Lollipop Z対応のXZDualRecoveryが発表されました

C6603 Lollipop向けのfixが入ったXZDualRecovery来ました(最新版は2.8.18)。

結局root取得済み端末でのインストールが失敗する理由はlollipop以降のカーネルではSELinuxを無効化する必要があったのですが、以前のバージョンではそのためのカーネルモジュール(byeselinux.ko)がうまく動作しなかったためのようですね。

しかし残念ながら、Lollipop KernelでRecoveryから/systemが書き込み権限付きでのmount不可能なことに気づきました(TWRP・touch phizともに)。
でも何故かZIPインストール時のみは/systemへのパッケージインストールが可能なので、Xposedなどはインストール可能なのですが...
ちょっと動作的ににはまだまだ問題ありですなぁ。
XDAではその辺りの話題も出ていて確認中のため、対策はなされると思いますが、もう少しかかりますね(rootなんか使わないけどlollipopに移行したい、取り急ぎ不具合があってもprerootedZIPでroot化済みでLollipopで使用したいなら前回の方法でOKです)。

とりあえずkitkatからLollipopに移行する際はWipe Data(自分の場合はC6603 Kitkatの10.5.A.0.230にダウングレードしてそこでroot取得際にはWipe Dataしないとブートループ)が必要でした。アプリはhellium辺りでバックアップを取って一回真っ新にするつもりで使うのもよろしいではないのでしょうか?

6/30時点で判明したことを追記します。
TWRPの場合「Mount」の最下層に表示される「Only mount system read-only」にチェックを入れて 「System」にもチェックを入れると、とりあえず「読込のみ」の状態で/systemをマウント出来、この状態ならZIPインストール時に/systemへの書込が可能になる可能性が高くなります。

2015年6月7日日曜日

国内キャリアが出さないなら海外版にしてしまえ(SO-02EからC6603へ)

大口顧客だからどうにもならなかったのかもしれないが、先日発表になった「Xperia Z3+」の件はちょっと腹立ちますよね。
国内版に「Z4」という名前を付けたのはどう考えても国内キャリアのせい(自分たちの販売タイミングでタマが欲しいから)。ああいうネーミングのせいでソニーモバイルが迷走しているって悲しい記事を書かれる始末だし。

今年になってSo-netでMVNO向けのJ1(中身はA2と同じ)を出したけど、昨年の時点でフラッグシップでSIMフリー機(もちろんブートローダアンロックOK)で販売を始めていたら、たとえMVNO契約がセットだとしても乗り換えていたと思う(そういう需要はタイミング次第ではかなりあると思って欲しい、ソニーモバイルさん)。

というわけで、腹立ちついでに今回はdocomoの勝手な事情(2年前の端末だから機種変更させたいというのと、国内版専用ビルドにかかる費用を出したくない)でLollipopにアップデートしないSO-02Eに海外版のROMを焼いてしまうことにしました。

6月6日付の結論を書きますが、XZDualRecoveryをインストールした状態ではLollipopは動作しません(これはXZのバージョンが上がればなんとかなるかもしれませんが、事実です)。root維持が必要ならもう少し待つ必要はあります(下記の通りとりあえず海外版に以降だけ済ませ、まずはKitkatで使い続けるという手もあります)。
次の記事でも書きましたが、XZDualRecoveryの2.8.16以降ではLollipopのXperia Zでちゃんとブートしました。これでroot化状態でも使用できます。どうせSO-02Eはブートローダーのアンロックは出来ないので、root取得くらいで使い続けてもいいのかなと思います。

1.海外版ROMを使用する際の特徴

海外版ROMに書き換えする場合は以下の長所・短所があります。自分の使い方をよく考えて下さい。

 長所:

   ①ソニーモバイルのサポートするAndroid OSを使い続けることができる
    自分はその昔arcでもdocomoにv2.3で見捨てられた経験がありますが、
    最終的にはgoroさんが移植したv4.0.4を常用していました
    (最終的にはCM11ベースのROMを入れてみたが、さすがにメモリ不足とSDカード周りでちょっと常用はきついというイメージでした)。
    国内キャリアが見捨てた端末では将来セキュリティホールが見つかってもほぼ対応はしてくれませんが、
    海外版ならばソニーモバイルがサポートする限りは最新パッチは当てられます。
    特にLollipop以降ではブラウザが使用するWebkitが外部モジュール化されてGooglePlay経由でアップデートされ続けるので、Kitkat止まりよりははるかに良いと思います(docomoさんにはこの点もよく反省して頂きたい)。
   ②キャリアの不要なプリインアプリがない状態で使用できる
    最近の機種はいらないアプリを無効化出来ますが、必要なアプリを購入後に希望に応じてインストールするのが本来の姿だと思います(プリインアプリまでは動作の保証をするという建前でしょうけど、出来の悪いアプリ始めから入れておいて調子が悪いというのはバカみたいです)。
    キャリアサービスのインストーラだけにして、必要なアプリは個人的に選択とかマジでどうですか?
    海外版の場合も仕向地によりプリインアプリは入っていますが、docomoのアプリのようにシステムの深部に入り込むものはありません。
   ③国内版でキャリアに無効化された機能が復活する
    有名どころではスタミナモードですよね。Zには結局降ってこなかった(怒。

 短所:

   ①当然自己責任(どこからもサポートは受けられない)
    ま、2年前の機種だし、保証は切れているので私的にはdocomoのサポートは全く要りません。ソニーモバイルのサポートも不要です。
    ちなみに、万が一Flash作業に失敗した場合は本当に文鎮化します。
    良くてもブートループです(端末がFlashmodeに入ることが出来れば、かなりの確率で復活できますが)。
   ②国内キャリア専用機能は使えなくなる
    ワンセグ・Felicaは海外版ROMでは当然使えません(NFCは使える可能性大)
   ③国内キャリア提供アプリは使えなくなる
    詳細は調べていませんが、専用メールアプリなどは使えなくなる可能性は高いです。
    Googleアカウントをお持ちなら、Gmailのアカウントも持っていると思いますので、この際にメアドは変更しておくことを勧めます。
   ③電波法違反の可能性がある
    端末の掴む電波の情報はBasebandとTAというところに記載されており、海外版の場合は仕向地の都合で国内キャリア版と対応バンドが異なります。
    仮に国内版のBasebandを残して動作可能にしても、その状態での技適(総務省でその端末の不要電波放出を一定基準以内と検査してある)認証が取られていないため、電波法違反になる可能性があります。

2.海外版に端末を変更するために必要なもの

 Flashtool(これを書いている時点で最新版は2015-05-30付の0.9.18.6です)
 いつもなら「お使いのOSに合わせてお好きなモノをダウンロードすること」と言いたいですが、現時点ではFlashtoolにXperifirm(Xperia用のファームウェア要素をダウンロードするアプリ)が統合されたWindows版をおすすめします。
 次期版はLinux・Mac版ともにXperiFirmが統合されるとか書いていますが、気長に待ちますか。

3.事前準備

 Flashtoolをインストールしておきます。
 端末内部のアプリはHeliumなどを用いて全てバックアップしてください(Flash後は工場出荷状態で使う人以外)。
 バックアップ後は端末の電源断にしてしばしお休みです。

4.変更処理

 (1)Flashtoolを起動

   お使いのPCにより32bit版と64bit版がありますが、その辺りはPCの環境に合わせてください。起動直後は下の画面ですが、その後上の画面になります。

 (2)XperiFirmを起動

   ツールアイコンの一番右XFと書いてある場所をクリックします。XperiFirmが起動します。

 (3)ダウンロード希望機種の選択


   XperiFirmが起動しますので、Xperia Zを選択します。
   海外版はC6602/L36h・C6603・C6616の3つがありますが、とりあえずC6603が正解です。クリックすると仕向地の一覧がずらっと表示されます。

 (4)仕向地の選択

 仕向地一覧から良さそうな仕向地を見つけます。正直どこでもいいのですが(仕向地とそのキャリアによりプリインアプリが入っている場合もあるが、国内版のような極悪アプリは見たことがないのでFlash後の不要なアプリのアンインストールは比較的容易でした)、LatestReleaseが確実に最新であることを確認してください。
 ちなみにCheckAllを押すと仕向地一覧の全キャリアに対してLatestReleaseを検索して調べます。Lollipop化する際は10.6.A.0.454以降がそれに当たります(未だにバージョンが古い仕向地もあるので間違わないこと)。

 (5)ファームウェアのダウンロード

 希望の仕向地(画面例ではCustomized UK)をクリックすると、右端に現在ダウンロード可能なバージョンが表示されますので、ダウンロードしたいバージョンをクリックするとこのダイアログが表示されます。

 このダイアログでDownloadをクリックすると自動的にネットから当該仕向地の当該バージョンがダウンロードされます。

 (6)FTFファイル生成処理

  ダウンロード終了後XperiFirmを終了するとFlashtool内部で自動的にダウンロードしたFTFファイルの元からFTFファイルを生成します。生成されたFTFファイルはFlashtoolのファームウェア保存フォルダに書き込みされます。

 (7)FTFファイルの書き込みその1

  Flashtoolのツールアイコン一番左の雷マークをクリックしてください。

  Bootmode Chooserは「Flashmode」にします。

 (8)FTFファイルの書き込みその2


  Firmware Selectorで希望のファームウェアを選択します。
  Wipe:Cacheは有効にしてください。Dataを有効にした場合、当然ながらユーザアプリは消えてしまいますので、現状のアプリをそのまま使い続ける場合はチェックを外してください
  Exclude:KERNELとSYSTEM以外はチェックを付けてください(Exclude = 除外)。特に国内版の対応周波数をそのまま海外版で使用予定なら、BASEBANDとTAには必ずチェックを付けてください。
  Reset:特に指定不要です。

 (9)FTFファイルの書き込みその3


  もう一度設定を確認したら、Flashを押します。まずはFlash用の準備中途表示されますが、その後端末をFashモードでPCに接続するメッセージが表示されます。Zの場合は電源断の状態から下ボリウムキーを押しながらPCとUSB接続するだけでFlashモードとなります。
その後、エラーが表示されないことを確認しながら少々待ちます。
最後にFinishedと表示されれば一応の書き込み成功です。

 (10)起動して動作を確認する

  さて、PCからUSB接続を切断し、電源ボタンを押してみてください。
  初期動作時はブートアニメーションが若干長めに表示されるため心臓に悪いですが、成功したらスタートアップ(工場出荷時)の画面が表示されます。
  Xperiaの場合は仕向地が欧州などでも日本語も予めインストールされているので安心して使用できます(なんとPOBoxも入っている)。

 (11)携帯電話としてのモバイルネットワークの確認

  電話アプリで*#*#4636#*#*を入力してテスト中アプリを起動し、携帯電話情報を表示します。
右上のメニューボタンをクリックし無線バンド選択で「JapanBand」があれば特にイジる必要はありません。
  また、電話アプリで*#*#7378423*#*#を入力してServiceアプリを起動し、Service InfoConfigurationWorking Band/sを確認してみましょう。
  UMTS_BC19とLTE_BC19,LTE_BC21(UMTSは3gの、LTEはそのまま)があれば元のBasebandがそのまま残っている可能性は高いでしょう。
  ここで言うBC19はdocomoのプラスエリアです。建物内部など地味に効いてますので、有効状態であることを勧めます。

 (12)root取得済みではどうしたらいい?

  10.5.A.0.230まで一度ダウングレードし、その状態でroot権限を取得する必要があります。その後はXZDualRecoveryをインストールし、最新版のfmtから作成したPrerootedのZIPイメージを焼いて下さい。
  上記の通りXZDualRecoveryを使用する場合は現状Android 5.0.2はブートループ状態になってしまうので、当面はKitkatで我慢して使い続ける必要があります(修正されるのを待ちましょう)。

 (13)やっぱり元に戻したい

  FlashtoolのXperiFirmを起動し、SO-02EのFTFを取得、これをFlashしてください。