2018年10月25日木曜日

Yoga Tablet 10にXposed

ZenFone 2 Laserを弄っていたら、root化も試してみたくなった。だが、ZenFone 2 Laserには大きな問題は無い。そこで、少しだけ不便だったYoga Tablet 10をroot化してみた。Android4.4のMicroSDへファイルコピーできない件(純正アプリ除く)を解消をします。手順は以下。

・Root化
・Xposed InstallerとHandle External Strageを入れる

Kingo Rootでroot化したのだが、最新版apkでは、余計なものがインストールされ、アプリをアンインストールしても余計なものだけ残り困りました。急遽、Windows版の最新を用意し、もう一度root化、そしてunrootしました。これでスッキリ余計なものが無くなりました。
次に、手元にあった古いKingo Root Ver1.2.0のWindows版で、再びroot化しました。superuser以外の余計なものは入りませんでした。とりあえず悪さしてなさそうなので、このまま使ってみる事にした。

その後もう少し調べたら、Kingo Rootでも、SuperSUが入るバージョンがありそう。サイトの画像をよく見たらVer1.2.9ですね。私はVer1.2.0でroot化成功しているので、試してみる価値があるかもしれませんね。

http://koyama4284.blogspot.com/2014/12/yoga-tablet-8-root-kingo-root.html

その後、Xposed Installerを検索してapkを拾ってきてインストールします。そしてストアでHandle External Strageを入れ、Xposed Installerで有効化すれば完了です。何時の間にかAndroidの各種機能追加変更はXposedで行うのがroot化端末のデフォになってました。すごく便利になってます。
これで、自宅NASからYoga Tablet 10のMicroSDにX-ploreで直接ファイルコピー出来るようになりました。
 

【余談】
最近、ZenFone 2 Laserのバッテリーの持ちが悪いなと思っていたら、機内モードがOFFになってました。「設定」の「電池」を見たら、半分以上がセルスタンバイでの電力消費。SIM無し運用によるセルスタンバイですね。その他にも、ディスプレイのスリープ設定が無操作30分になってたので、速攻で2分に設定しました。
その後、機内モードにして満充電にしてから「電池」を見てみたら、セルスタンバイなんて項目がそもそも出てこなくなりました。う~ん、再起動した後、機内モードにするのをすっかり忘れてましたねw
再起動時に忘れそうだから、Llamaで再起動直後に機内モードにするよう設定追加しようとしたら、Googleさんが出来なくしちゃったのでRoot化が必要という説明が出ましたよ。う~~ん...再起動したら機内モードである事を確認するだけなんで、とりあえずZenFone 2 Laserのroot化は保留だな。

2018年10月23日火曜日

MicroSD 200GBをZenFone 2 Laserに

ZenFone 2 Laserは内蔵ストレージが16GB、そのうちシステム予約領域が約5GBもあり本体ストレージは実質10GB、今の空き容量は1GBくらいしか残っていない。この空き容量なのにラジオ録音が本体保存だから、頻繁にMicroSDにファイル移動が必要で面倒です。そんな使い方をして数か月、MicroSDは200GBが税込み7000円以下となったので、大容量だと便利だろうくらいの気持ちで買ってきた。SanDiskのA1規格です。
買ってきたは良いが、どうにか便利にならんのか?と思って調べた。Android 6.0からはMicroSDを内部ストレージ化しアプリを引っ越せるようなので、ラジオ録音アプリを引っ越すテストをしてみる事にした。とりあえずやってみよう。

【MicroSDの内部ストレージ化】
MicroSDの内部ストレージ化のやり方は以下。ZenFone 2 Laserは内部ストレージ化はサポートしていないので若干手間がかかりますが、JDKとAndroid Studioをインストールしパスを通し、adbの動作を確認してから、下記リンクのやり方をやっただけです。

https://kangaerujikan.com/entry/sdnaibu

JDKとAndroid Studioをインストールしパスを通し、adbの動作を確認してから、上記サイトのやり方をやっただけです。

1.JDKとAndroid Studioをインストールしパスを通す
2.今入っているMicroSDの中身をPCにバックアップ
3.MicroSDをスマホから外す
4.新しいMicroSDを挿す(フォーマット不要)
5.スマホをPCに接続し、上記サイトの手順を実行
6.MicroSDのバックアップを書き戻す

なお、システムで作っている「.」で始まるフォルダはMicroSDに書き戻さなかった。これで完了です。やってみればあっけない。コマンド打つと言っても超簡単。私はMicroSDの70%・128GBを外部ストレージとして使用するよう設定した。これでハッピーになれるはずなのだが...ん?

さて、ここから分からない。

1.設定のストレージでは、端末のストレージが内部ストレージとSDカードの合計で空き容量が55GBくらいある。
2.純正アプリの「ファイル」では、内部ストレージ化されたSDカード領域が見えない。
3.PC接続してストレージを見ても、内部ストレージ化されたSDカード領域が見えない。つまり、内部ストレージ化されたSDカード領域はAndroidシステムからしか見えない領域となったようだ。
4.アプリを引っ越してみようと思ったが、殆どのアプリが引っ越しできない。Razikoも録音ラジオサーバーもだ。キャッシュとか食うブラウザ(Chrome,Firefox,Sleipnir)も移動出来ない。
5.Google EarthとHabit Browserは引っ越し出来た。
6.Razikoをアンインストールして再インストールしてみたが、インストール先は相変わらず内部ストレージだった。
7.つまらんので可能なものは全て内部ストレージに引っ越してみた。
8.何故か、MicroSDに移動したGoogel Earthアプリのアイコンが化けたりする。
9.使ってるGoogle Now ランチャーも不安定になった。

う~~~~~ん、納得いかない。一番解消したい案件が変わらないし、スマホの安定性は明らかに落ちた。もうね、ゲーム等大容量ストレージへの保存が必須な場合以外にはオススメしない。そもそも素人にはオススメ出来るレベルじゃない。私も、内部ストレージ化したMicroSDにアプリを移動して数日使ってみたけど、全て本体ストレージへ戻してしまったよ。

【FolderSyncでファイル移動自動化】
というワケで、大容量MicroSDを有効活用出来ていないので、定期的に自動で録音ファイルをMicroSDに移動してくれる便利な手は無いかと調べた。見つけたのがFolderSyncという無料アプリ。使い方は以下参照。

https://nonbiri.work/mobile/lets-make-the-file-move-every-time-with-foldersnyc/


おかげさまで、毎日決まった時間に本体ストレージからMicroSDへのファイル移動をスケジュール設定することが出来ました。アプリを入れて設定するだけなんで、何のリスクもありません。ついでに不要なアプリの掃除(抹殺)もしたので、内部ストレージに2.5GBの空きが出来た。
結局なんのことは無い。内部ストレージ化なんぞせずに、FolderSyncで定期的にファイル移動をすればよかったというオチが付きました。

【アプリの外部MicroSDへのインストール】
Android5.0まではApp2SDという機能でMicroSDにアプリが移動出来たようですが、Android6.0からは更に内部ストレージ化という一手間が増えたと考えた方が良さそう。App2SDが使えた頃もそうだったようですが、ランチャーでホーム画面にショートカットを置くウィジェット機能が使えなかったようです。

https://win-tab.net/android/app2sd_kanon_ayu_1611201/

私の環境(ZenFone 2 LaserのAndroid6.0.2)でも、MicroSD内部ストレージ化しアプリ移動した時にアイコンが化ける不具合が発生しランチャーが不安定になることから、スマホ再起動時にはランチャーソフトが外部MicroSDへ移動したアプリを読み込めないという不具合が発生する確率が高いのでしょう。だからメーカーはMicroSD内部ストレージ化をサポートしていないと考えられますね。

【Android端末の世代とMicroSD】
Android端末の世代は以下のように考える事が出来るんじゃないかと思う。

①Android2.2~4.3
内部ストレージが少ないスマホ世代の救済措置とし、App2SDが搭載されたようです。
②Android4.4~5.0
MicroSDの扱いが変更されApp2SDが隠し機能となったが、本体ストレージが少ないスマホを売るため、メーカーがApp2SDを独自にサポート。
③Android6.0~
MicroSDの内部ストレージ化・アプリのMicroSDへの移動が機能追加されるが、安定性が担保出来ないのでメーカーはサポートしない事が多い。特に、前世代機器がアップデートでAndroid6.0になる場合には、そもそも設計時のストレージ取り扱いと違うので、MicroSD内部ストレージ化がサポートされない事が多いと思う。

更に...Google純正?の端末、Nexus・PixelはMicroSDを搭載していない。AndroidにおけるMicroSDの位置付けは、搭載可能だが標準?推奨?されるものでは無いのかもしれない。

MicroSDへ移動できないアプリが多いという事は、アプリ開発側もMicroSDでの実行にリスクがあると判断しているということだろう。


私も容量不足のAndroidスマホでもMicroSDが挿せるから全然OKと考えていたのだが、その認識は間違いだと思うようになった。どうしても超えられない壁があります。

2018年10月5日金曜日

Defenderのナゾ

個人所有のWindows環境ではDefenderを使っている。最低限のウイルススキャンとポート監視をしてくれているので十分だと思う。

モバイルPC(ASUS EeeBook X205TA)でも使っているのだが、AndroidのROOT化ツールをDropboxに入れていたら脅威だから隔離してくれた。パターンアップデートで脅威認定されたのでしょう。おお~かしこいねぇ、無料なのに、ありがたい話です。ん...ありがたいのか?

モバイルPCは、内臓ストレージがeMMCの64GBなので、容量不足を補うためMicroSD 64GBを常設し、NTFSフォーマットした後に仮想ディスクVHDを生成し、Windows起動時に自動マウントするようにして使っている。マウントされた仮想ディスクはHDDと認識されるためクラウドの保存先にも使えてとても便利です。

今回、DefenderがAndroid ROOT化ツールを隔離してくれたのだが、その症状?対処?が謎すぎた。

1.Dropboxの同期が出来るように見えるが、再起動すると、なぜかファイルが元に戻っている。隔離されたファイルを消しても何度も復活するんです。
2.この状態のまま仮想ディスクドライブにファイルをコピーしたら、一瞬はコピーされたように見えるが、開こうと思ったらエラーが起こるし、再起動すると無くなっている。つまり、仮想ディスクの中身は変更されていない。元に戻っている。
3.MicroSDは書き込み禁止になっていない、VHDファイルもフルアクセスになっているので、何かが悪さしているのだろう。
4.ふとDefenderが気になり、Dropboxフォルダを除外フォルダに設定しWindowsを再起動したら、謎現象は治った。

つまりDefenderが隔離するという行為を行うと、仮想ドライブがロックされるのだ。それも中途半端で、ファイルコピー等はオンメモリのキャッシュで一時的に書き込めたようにWindows側からも見える状況だったようです。 なんだそれって感じですよ。

というわけで、ファイル隔離がとっても下手なDefenderさんのお話でした。仮想ディスクのマウントって、こういうトラブルが起こる事があるんですね。そんな愚痴でした。

【追記】
Windows10の2017.10大型アップデート後、アプリのインストール先にMicroSDが使えるようになったとか、Cドライブに作ったフォルダにMicroSDドライブをマウントすることでDropboxの保存先に使えるようになるとか、そんな変化があったようです。知りませんでした。具体にDropboxの保存先をMicroSDにする方法は以下。

https://blog.itokoichi.com/entry/2017/08/14/105345

仮想ディスクVHD自動マウントという手の込んだ使い方はやめても良いかなと思った。MicroSDに仮想ディスク作るのに一晩掛かったのは何だったのでしょう。そのうち仮想ディスクは止めようと思う。