Quantcast
Channel: 犬を一匹飼っている
Viewing all 248 articles
Browse latest View live

どうやったらAmazon Fire (5th gen)を使い物にできるのか【最終版】

$
0
0

前回MediaPad T2 7.0 Proを高速化する最終版のガイドを書いたが、Amazon Fire (5th gen)に関する説明も簡単にしておく。
どうやったらMediaPad T2 7.0 Proを使い物にできるのか【最終版その1】
どうやったらMediaPad T2 7.0 Proを使い物にできるのか【最終版その2】

Amazon Fire (5th gen)にはカスタムROMがあるので、それを導入することで最小限のシステムを作ることができる。お勧めはinit.dが使えるggow氏版のLineageOS 12.1。以下はこのROMを使って、高速化の解説をする。

(TWRPを使う場合は、こちらを参照

ROMとOpen GAPPSのNano版をインストールし、MediaPadと同様に不要なアプリや重複アプリを/system/appと/system/priv-appから削除する。

Fireは内部ストレジが少なく、MediaPad T2 7.0 Proのようにユーザーアプリを積極的にRAMから解放しないので、Playストアからインストール後、/system/appに移動させたのは以下の最低限のGoogleアプリのみ。

com.android.chrome
com.google.android.apps.docs
com.google.android.apps.photos
com.google.android.calculator
com.google.android.calendar
com.google.android.gm
com.google.android.inputmethod.latin
com.google.android.keep
com.google.android.music
com.google.android.youtube

Fireの/cacheパーティションは242.1MBで、やはり使われていないので、今度もスワップファイルに活用する。Low Memory Killの設定はMediaPad T2 7.0 Proと同じ。FireのCPUは4コアでかなり遅いので、ガバナーはperformance、常時最大周波数1.3MHzで動作させる。

LineageOS 12.1には起動時にユーザースクリプトを実行する/system/etc/90userinitというスクリプトがある。今回はこれを書き換える。書き換え後の内容は以下の通り。以上。

#!/system/bin/sh

#### 追加部分 ####
#200MBのスワップファイルの設定
swapoff /dev/zram0
dd if=/dev/zero of=/cache/swapfile bs=$((1024 * 1024)) count=200
chmod 644 /cache/swapfile
mkswap /cache/swapfile
swapon /cache/swapfile
sysctl -w vm.swappiness=10

#60秒間待機
sleep 60

#設定ファイルの所有権・権限を設定
chmod 644 /sys/module/lowmemorykiller/parameters/minfree
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
chmod 644 /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
chmod 644 /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chmod 644 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
chmod 644 /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq

chown root:root /sys/module/lowmemorykiller/parameters/minfree
chown root:root /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
chown root:root /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chown root:root /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
chown root:root /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
chown root:root /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chown root:root /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown root:root /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
chown root:root /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq

#Low Memory Killの設定
echo "6400,8960,14080,17920,25600,30720" > /sys/module/lowmemorykiller/parameters/minfree

#CPUガバナーの設定
echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "performance" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "performance" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo "performance" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor

#CPUコアの最低動作周波数を設定
echo "1300000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo "1300000" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo "1300000" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
echo "1300000" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq
#### 追加部分終了 ####

#### オリジナルの部分 ####
# call userinit.sh if present in /data/local
if [ -e /data/local/userinit.sh ];
then
log -p i -t userinit "Executing /data/local/userinit.sh";
/system/bin/sh /data/local/userinit.sh;
setprop cm.userinit.active 1;
fi;


Nexus 7 (2013)はまだ使えるね…

$
0
0

MediaPad T2 7.0 Proを買った理由は、Nexus 7 (2013)のスペックが古くなり、Googleご謹製ROMはもっさりしすぎて、まともに使えるカスタムROMも少なくなってきたからだ。ただ、結局MediaPad T2 7.0 Proはシステムのアップデートもなく、最悪のチューナップで扱いにくいROMのままHuaweiから見捨てられてしまった残念なタブレットに終わった。

購入後ずっとMediaPad T2 7.0 Proをまともに使えるようにするために試行錯誤してきたわけだけど、やっと落ち着いたので、使っていなかったNexus 7 (2013)もシステムを入れ替えることにした。LineageOSには公式、非公式いろいろなROMが出ているわけだけど、Nexus 7 (2013, LTE)=debには公式ROMがまだ開発サポートされていた。



最新のLineageOS 14.1 Nightlyをインストールしてみると、Open GappsのNano版をインストールできるだけ/systemには空きがあるので、こちらも合わせてインストール。何もせずまずは試してみたところ、かなりチューナップされていて、全く問題ないレベルに調整されていた。
/sys/module/lowmemorykiller/parameters/minfreeや /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freqを書き換えなければいけないだろうなぁ…と予想していたものの、その必要は全く感じなかった。


一応調べてみたものの、正式版なのでinit.dは存在するものの無効化されていたので、何かを書き換える場合はスクリプトを実行するアプリを使うか、kernelを自分で書き換える必要があるだろう。そこまでする必要は感じなかった。

流石Google純正だけあって、発売後5年も経過したのにNougatが動くというのはヘビーユーザーのNexus愛を感じた。

MediaPad T2 7.0 Proの購入が失敗だったかといえば、そうとも言い切れない。まずNexus 7に比べて圧倒的に軽い。普段持ち歩いたり、ずっと手で持っていたりするとこの違いは大きい。指紋認証もやはり便利で、ロック解除のスピードはほぼ瞬時。触れるだけでロックが解除できるのは、外出時に結構役に立つ。Nexus 7 (2013)の内部ストレジは32GBで、MediaPad T2 7.0 Proは16GB。ただ、MediaPad T2 7.0 ProではmicroSD(最大128GB)が使え、大容量で高速なmicroSDの価格が最近下がってきたので、容量を気にせず何でも入れておけるのはやはり便利だ。

今はMediaPad T2 7.0 ProとNexus 7 (2013)に全く同じアプリを入れ、設定も全く同じにしているので、主にMediaPad T2 7.0 Proをメインで使い、バッテリーがなくなり充電しているときに自宅でNexus 7 (2013)を使うという使い方をしている。Amazon Fire (5th gen)も同じ設定にしているものの、こちらはGoogle Photosとシンクさせ、リビングでデジタルフォトフレームとしての第二の人生を歩んでいる。送料込み4,980円で購入したので、悪い使い方ではないと思う(笑)

Androidのswap

$
0
0

Androidは普通デフォルトでzRAMが設定されていて、swapがonでswappinessが60になっているんだけど、MediaPad T2 7.0 ProでRAMの空きが700MB以上あるにも関わらず、swappinessを10に設定してもアプリの切り替えが瞬時に行われず、アプリが再起動して待たされることがよくある。

一つには設定の「保護されたアプリ」で保護しておかないとスリープ時にRAMから自動的にkillされてしまう。もう一つにはzRAMがあるとswappinessが10でもスワップしているようにも見受けられる。

起動時に走る/system/etc/init.qcom.post_boot.shでzRAMを無効にしても良いかもしれない。無効にする場合は、

swapoff /dev/block/zram0

という一行を加えるだけ。

折角/cacheが使われずにあるんだから、swapを設定しておこうと思ったけど、RAMが2GB以上あるならswapは切ってしまった方がアプリの切り替えがキビキビするような気がする。RAMが少なくなれば、Low Memory Killerで使っていないバックグラウンドのアプリがkillされるので、swapがなくてもアプリの使用に問題は起こらないと思う。

Xiaomiは本当にウザい!もう絶対買わない!!

$
0
0

Mi4c向けの公式な(開発者向け)Nougat ROMがリリースされ、カスタムROMもそれに対応するようになったので、システムをアップデートすることにしました。

Nougat ROMのリリースにともない、Xiaomiはbootloaderも新しくし、最新版のカスタムROMはNougat向けbootloaderでなければ、動かないものもあります。ということで、bootloaderなどファームウェアを最新版にしたところ、bootloaderが再度ロックされてしまいました。

「まぁ以前ちゃんとXiaomiのサイトでbootloaderアンロックの許可が取れてるからかんたん簡単!」などと思っていたら、大間違い。「アンロックの許可は期限が切れているので、また申請してください〜 数日かかります〜 10日過ぎてもSMSが来なければ、サポートフォーラムに書き込みしてください〜」とか言われてしまいました。

Huaweiもウェブ上でbootloaderのアンロックを申請しなければいけませんが、すぐにアンロック用のコードが送られてきますし、コードがハードウエアと紐付けされています。ファームウェアのアップデートでbootloaderが再度ロックされてしまうことなどありえません。

一日かけてアンロックされたbootloaderで最新のROMを焼き、普通に使えるようになりましたが、こんな面倒くさいスマホは懲り懲りです。(まだbootloaderはロックされたままです。抜け道があってよかった!)

絶対にXiaomiは人に勧めません。未だに日本語のリソースをシステムに入れさえしていないので、日本で売る気もないし、サポートの遅さもかなりの殿様商売だなぁ…と思いました。

何故かAndroid Pの絵文字がMediaPad T2 7.0 Proで使えない…

$
0
0

MediaPad T2 7.0 Proのシステムを始めから作り直していて、「あっ、絵文字フォントを新しくしていなかった!」と思い出して、最新のAndroid Pの絵文字を入れてみたところ、絵文字が白黒になり、絵文字の数も激減。Oreoの絵文字に戻すと元に戻る。 /system/etc/fonts.xmlや fallback_fonts.xmlの問題かもと思い、いろいろ修正してみたものの、結果は全く同じ。何がいけないのか今のところ全く見当が付かない。

ということで、今のところハンバーガーの絵文字でチーズがパテの下にあるまま。Android Pの絵文字ではロブスター(ザリガニかと思った)やリャマの絵文字が出るんだけど。他の端末では問題なくインストールできるんだよね… 特にOreoの絵文字で問題ないんだけど、理由が分からないのでもやもやする。

いつの間にかFire 7は7th Genになったのね

$
0
0

久しぶりにXDAを除いたら、いつの間にかFire 7は7th Genになってた。穴はほぼ完璧に塞がれて、rootも取れなくなってしまっているみたい… まぁ、Amazonのサービスを使って欲しくて、赤字覚悟で4~5千円で販売しているわけで、カスタムROM入れられて普通にAndroidタブレットとして使われたら、Amazonも商売上がったりだからしょうがないと言えばしょうがない。

つくづくこういうガジェットは買うタイミングが大切だと思いました。まだ、Huaweiのタブレットは公式にbootloaderがアンロックできるだけまし。対応するカスタムリカバリーがあれば、いろいろ弄ることができる。今後端末を買うときは、bootloaderがアンロックできるか、カスタムリカバリーがあるかが決め手かな。

Smartnewsの広告

$
0
0

便利なニュースキュレーターのSmartnews。ただ、欠点は広告なしの有料版がなく、記事一覧の中の広告の数も増え、また記事の中にも広告が埋められている。記事を読みながらスクロールするときに誤って広告をタップしてしまうということが多発していた。チャンネルに関連している広告ならまだしも、広告とチャンネルにはなんら関係なく、毎日毎日育毛剤だの筋肉サプリだのの広告が繰り返し繰り返し表示されて、正直閉口していた。チャンネルのバックアップ機能もない。

広告ブロックのサイトを見てみると、最新のhostsはSmartnewsの広告も対象になっていた。早速/system/etc/hostsをアップデートして、Smartnewsを更新してみると、記事一覧からも記事からも嘘のように広告が消えて読みやすくなった。もっと早めに対応しておけばよかった。

Smartnewsが配信する広告のサーバーは以下のようだ。

  • api.smartnews-ads.com
  • api-p.smartnews-ads.com
  • b.smartnews.be
  • cdn.smartnews-ads.com
  • conf.smartnews-ads.com
  • smartnews-ads.com

MediaPad T2 7.0 ProのStock Rom

$
0
0

PLE-701LC229B006へのアップデートの通知が来たものの、アップデートの途中でエラーが出てきてしまうので、工場出荷時に戻すことにしました。HuaweiはMediaPad T2 7.0 Pro用のファームウェアをダウンロードできるようにしていないので、探すしかありません。

※注意:PLE-701LC229B006にアップデートするとbootloaderのアンロックが動作しなくなりますね…


日本向けのPLE-701LC229B003のStock Romで見つけられたのは、これだけ。これをダウンロードして解凍すると、 Software\PLE-701LC229B003CUSTC229D002\sd\dload というフォルダがあるので、これをまるまるSDcardのルートにコピー。

こちらに書いてある方法(*#*#2846579#*#*をダイヤルする方法)で問題なくPLE-701LC229B003の工場出荷時に戻せました。途中「PTが合っていないがアップデートするか?」みたいな警告が出ましたが、無視。

その後、普通に設定→システム更新→更新の確認 で問題なくPLE-701LC229B006にアップデートできました。


MediaPad T2 7.0 ProにPLE-701LC229B006は入れたほうが良いかも

$
0
0

公式のアップデートの内容は緊急速報対応とセキュリティパッチということでしたが、PLE-701LC229B006のアップデートはそれだけではないような気がします。

PLE-701LC229B003ではOpenGappsで最新のGoogleご謹製アプリにアップデートできましたが、PLE-701LC229B006ではOpenGappsを使うと初回のセットアップが終了しなくなります。システムの構成が変わったからだと思われます。

カスタム・リカバリーのTWRPをフラッシュしても、Huaweiのリカバリーに戻されてしまいます。/systemにはリカバリーを修復するスクリプトはないので、kernelにその部分があると思いますが、それを探してパッチを当てるのも面倒なので、このままにしています。

これが一番重要なのですが、メモリーの扱い方が大きく変わったように見えます。PLE-701LC229B003では□ボタンを押してタスクの一覧表を表示したときに、画面下に表示されるRAMの空きがしばらく使っていると400~800MB位になり、500MBを切ると一気にもっさり感がましましたが、PLE-701LC229B006では同じように使っていても常に800MB以上を維持しているように見えます。これによりしばらく使っていてもRAM不足で動作が重くなることがなくなりました。

これらのことに鑑みても、PLE-701LC229B006にアップデートする価値はあると思います。

アップデート後削除したのは、以下の通り。

/cust/hw/jp/delapp/WPS WPSオフィス
/cust/hw/jp/media/bootanimation.zip Huaweiブートアニメーション
/system/app/Books Google Books
/system/app/Calculator Huawei計算機
/system/app/Calendar Huaweiカレンダー
/system/app/Chrome Chrome
/system/app/CloudPrint/CloudPrint.apk Google BooksCloud Print
/system/app/Drive Google Drive
/system/app/Gmail2 Gmail
/system/app/GoogleTTS Google TTS
/system/app/Hangouts Hangouts
/system/app/HwFileManager Huaweiファイルマネージャ
/system/app/HwMediaCenter Huaweiメディアプレーヤー
/system/app/LatinImeGoogle Google英語キーボード
/system/app/Magnifier Huawei拡大鏡
/system/app/Maps Googleマップ
/system/app/Music2 Google Music
/system/app/Newsstand Google News
/system/app/OpenWnn OpenWnn
/system/app/PlayGames Google Play Games
/system/app/PlusOne Google+
/system/app/talkback/talkback.apk Android Accessibility Suite
/system/app/Videos Google Play Movies & TV
/system/app/YouTube YouTube
/system/delapp/HwMirror Huawei鏡
/system/delapp/iWnnIME iWnnIME
/system/delapp/iWnnIME_Kbd_Old iWnnIME_Old
/system/priv-app/Email メール
/system/priv-app/Gallery2 Huaweiギャラリー
/system/priv-app/HwNotePad Huaweiメモ
/system/priv-app/HwVPlayer Huaweiビデオ・プレーヤー
/system/priv-app/Velvet/Velvet.apk Google検索

 

更に、以前の記事で書いた/system/etc/init.qcom.post_boot.shの変更を行いました。RAMの減り(によるもっさり感)が気になったので、今までインストールするアプリを減らしていましたが、これなら好きなアプリを入れられそうです。

EmojiOneのAndroid Font (ttf) Version 4がダウンロード開始に!

$
0
0

リンクはこちら

Mi4c(LineageOS 14.1)とMediaPad T2 7.0 Pro(EMUI 3.1)でちゃんと使えました。

HUAWEI MediaPad M5を年末に購入とroot化

$
0
0

特にMediaPad T2 7.0 Proで困っていたわけではないけれど、MediaPad M5 8.4 LTEモデルを買ってみた。MediaPad T2 7.0 Proの一番のネックはやはりRAMが2GBとしかないこと。3~4GB搭載されていたら、使い勝手はもっとよかったと思う。
huawei-mediapad-m5

さて、HUAWEI MediaPad M5はCPUがHUAWEI Kirin 960 オクタコア(HUAWEI P10に搭載されているものと同じ)になり、RAMも4GB搭載しているので、基本的にストレスなくサクサク使える。OSもAndroid 8.0 Oreoで、Android 9.0 Pieのベータテストが始まっているので、Android 9まではアップデートされそう。画面も8.4インチになったので老眼にはありがたい。付属のカバーはマグネットが内蔵されており、カバーを閉じるとタブレットはスリープするのはかなり便利。マグネットもそれほど強力ではないので、コンパスが狂うこともないだろう。

かなり便利なのが画面の下中央に配置された指紋センサーのジェスチャー機能(システムナビゲーション)。これを「画面外ナビゲーションボタン」にすると、画面からナビゲーションボタンが消え、画面が広く使えるようになる。指紋センサーをタップすると戻るボタン、長押しするとホームボタン、左右にフリックするとタスク一覧画面になる。この単純な動作は直ぐに覚えられるので、物理ボタン一つでナビゲーション操作が完結する。

プリインストールされているサードパーティ製のアプリは全部削除でき、この時点でアプリで使えるRAMの空きは2GB前後となる。削除できるとは言え、これらのアプリは別の場所にオリジナルが保存されているので、ファクトリーリセットを実施するとまた現れる。

ここからが本題。DC-unlockerの対応機種を見ると、Huawei MediaPad M5があったので、MediaPad T2 7.0 Proと同じようにブートローダーがアンロックできると高を括っていた。Huawei MediaPad M5用のTWRPも既にある。ということで、何も考えずに、始めのセットアップ終了後にシステムをOTAでアップデートしてSHT-AL09 8.0.0.191にしてしまった。これが運の尽き。

DC-unlockerでクレジット(4ユーロ)を購入して、ブートローダーのアンロック・コードを読み取ろうとしてもエラーが出て読み取れない。サポートフォーラムを読んでみると、あるバージョンのファームウェアからアンロック・コードが読み取れなくなった模様。何も考えずにファームウェアをアップデートしてしまったので、元のバージョンが何だったのか、アップデート前ならできたのかも分からない。DC-unlockerは理由を説明したら、返金してくれた。結構良心的。

「どうせupdate.appを使ってファームウェアをダウングレードできるでしょ」と再び高を括っていたところ、これまたあるバージョンのファームウェアからダウングレードできなくなっていて… orz

こうなるとブートローダーがアンロックできる残る方法は、アンロック・コードを業者から買うことだけ。業者は、

  • FunkyHuawei (price: $55)
  • Ministry of Solutions (price: $35)
  • Global Unlocking Solutions (price: $22)

の三つ。Global Unlocking Solutionsは日本から送金がかなり難しい、Ministry of Solutionsは新しい機種やDC-unlockerで読み取れないファームウェアのアンロック・コードはPayPalでは扱っていない(実際はごねればPayPalでインボイスを送ってくれた)。一番高いFunkyHuaweiはPayPalで支払いができて簡単。

アンロック・コードを手に入れたら、ブートローダーのアンロック方法はNexusなどと同じで、Bootloaderから
fastboot oem unlock [16文字のコード]
と実行するだけ。と、ここで終わらないのがHuawei… ブートローダーをアンロックすると毎回再起動するたびにブートローダーがアンロックされている旨のメッセージが英語でデカデカと表示されるようになった。表示されるだけで、数秒後に普通にブートする。

TWRPをon-the-flyで試してみようとしたものの、SHT-AL09 8.0.0.191のブートローダーでは
fastboot run [カーネルイメージ]
が塞がれてしまっていて、TWRPを使う場合はリカバリー領域にインストールするしかない。(恐らくインストールしても、リブート時にオリジナルに書き換えられてしまうのでは?)

ブートローダーがアンロックされたので、まずは試しにOpenKirinのOmniROM Beta 3.1をインストールしてみた。特に問題はなく、使い勝手はEmotion UI 8.0よりちょっと便利なものの、マグネットカバーに対応していないので、カバーを閉じてもスリープには移行しなかった。日頃タブレットを外に持ち歩いているので、これでは使い勝手が悪い。恐らく他のOpenKirinのROMも同じだろう。ということで、とっととStock ROMに戻してしまった。

Stock ROMのままでは使いにくいので、Magiskを使ってroot化する。元になるファームウェアはTeam MTのBase firmwareからダウンロードできる。詳しい手順はいろいろなところに書いてあるので、簡単にまとめると、

  1. (PCで)ファームウェアupdate.zipからUPDATE.APPを取り出す
  2. (PCで)HuaweiUpdateExtractorを使って、RAMDISK.imgを取り出す
  3. RAMDISK.imgをタブレットのストレジに保存する
  4. Magiskのapkをタブレットにインストールする
  5. Magiskをタブレットで起動し、RAMDISK.imgにroot用のパッチを当てる
  6. パッチされて出来上がったpatched_boot.imgをタブレットからPCに保存する
  7. タブレットをbootloaderモードにして、PCから「fastboot flash ramdisk patched_boot.img」でパッチが当たったkernelを焼いてリブート

root化したら、対応するファイルマネージャーでシステムを改変するのは簡単。ただ、イメージで簡単にバックアップが取れないのは面倒かなぁ… まぁ、アプリやデータはHiSuiteでバックアップが取れるので良しとしましょう。

2019/01/10時点でベストなXiaomi Mi4c向けのOreo ROM

$
0
0

Xiaomi Mi4cのOreo(8.1)のカスタムROMはいまだに幾つかある。メジャーなところでは、

AICP 13.1
Lineage 15.1

などなど。ただ、AICP 13.1は安定しているものの、Smart Lockで「認識済みの顔」が使えない。Lineage 15.1はいろいろな人がビルドしているものの、OpenGappsの相性がまちまち。流行の安定しているMindtheGapps(足元注意をもじった名前のGapps)は「認識済みの顔」が入っていない。「認識済みの顔」が使えても、Voice Match(OK Googleで呼び出す機能)が使えない、もしくはその逆。Gboardで日本語と英語を使っていると、英語でしか絵文字の検索ができないなど、いろいろなROMを試してみたもののどれも何かしら問題があった。

「認識済みの顔」、「Gboard日本語での絵文字の検索」、「Voice Match」というGoogleの基本の機能が問題なく使えるROMを二日かけて探してやっと辿り着いたのが、Pixel ExperienceXiaomi Mi4c向けの(多分非公式)ROM。AOSPベースで、(何故か)最低限のGoogle appsが入っており、Pixelのランチャー、壁紙、アイコン、フォント、ブートアニメーションなどが入っている。

このROMにしたところ、今までの問題が嘘のようにすべてが安定して使える。結局のところ、Gappsが入っていないカスタムROMはGappsとの相性があまり考慮されていないので、どの日付のどのビルドがそのROMに最適なのが分からない。大体Gappsは同じ日のソースで全てのライブラリやアプリがビルドされているので、本当に各ライブラリやアプリのバージョンがそのROMに最適かも分からない。

ということで、Pixel Experienceのようにシステムとそれに最適なGappsが入っているROMは安定しているのだと思う。Pixel Experienceがメジャーなサイトで取り上げられないのは、GoogleがGappsが入っているカスタムROMを知的財産の侵害で警告しているからだろう。Pixel Experienceのサイトでも対応しているのは中国メーカーのスマホが多いのもそういう理由なんだと思う。

Voice Match(OK Google)って使えている人いるの??

$
0
0

どの画面からでも「OK Google」と話しかけて、Google検索を声で行う機能は最近Voice Matchを呼ばれているけど、これが結構設定できない。
基本的にはAndoid 5.1以上なら使えるはずなんだけど、いろいろな端末で試しても、なかなかうまくいかない。症状は、Voice Matchをオンにしようとしてもグレイアウトしてオンにできない、オンにできて4回「OK Google」を認識させる画面に移るものの一向に声に反応しない、オンにできてもぐるぐる輪が回っていて先に進まない、オンにできても「接続できません」とエラーになる、などAndroidのバージョンに関係なく同じ。

使えるようにするのにはかなり手間が掛かるし、大して便利な機能でもないので、ここで諦めてしまうのも手だと思う。

Voice Matchを設定するためには、端末を初期化する(バックアップは取っておく)。初期セットアップの画面で「English (United States)」を選び(これが非常に重要!)、WiFiの接続をし、Googleアカウントの設定をし、端末は「新しい端末(As a new device)」を選択し、クラウドからアプリなどを復元させない。

ホーム画面に移ったところでしばらく放って置く。この間にGoogle Play StoreやGoogle Play Servicesなどがアップデートされるはず。次に全てのアプリをアップデートする。この時にGoogle Play StoreやGoogle Play Servicesがアップデートされる場合もある。全てのアプリのアップデートは一度でできない場合もあるので、何度も確認する。

Google検索とGoogle Play Servicesがそれぞれ対応しているバージョンじゃないとVoice Matchは使えない。(両方のバージョンが同じ番号ということではない)

一通りアップデートが終わったら、(一度リブートし)Google検索を開く。2019/1/18現在のバージョンは9.0.5.21。右下の「≡More」から「Settings」「Voice」に進み、「Voice Match」を選択し、「Access to Voice Match」をオンにする。英語で、「Say, OK Google」と言われるので、「OK Google」と4回唱え、設定を終了。ここで一度バックアップを取っておこう。

次にシステムの設定から言語を「English (United States)」から「Japanese(日本語)」へ変更する。(一度リブートし)Google検索を開く。再度「≡その他」から「設定」「音声」に進み、「Voice Match」を選択。「Voice Matchでアクセス」がオンになっていたら、下の「音声モデルを再認識」から再度「OK Google」と4回唱えて終了。

重要なのは英語で端末を設定、Google検索とGoogle Play Servicesが最新、他のアプリを入れる前に、Voice Matchを設定。「OK Google」が使えるのを確認したら、システムの言語を日本語に変更。

Nexus 7 (2013)はまだ現役で使えた…

$
0
0

Nexus 7 (2013)が遅くなってきたので、MediaPad T2 7.0 Proに乗り換え、MediaPad T2 7.0 Proが遅くなってきたのでMediaPad M5 8.4に乗り換え、今はそこそこ快適にタブレット生活を送っている。

Nexus 7 (2013)を放って置くのも可哀想なのでOreoを入れることにした。ただ、Nexus 7 (2013)の/systemパーティションのサイズは840MBしかなく、最近のカスタムROMを入れると、かなり余裕がない状態なので、まずは/cacheパーティションを減らし、その分/systemパーティションを増やす。これをTWRPで簡単に実現するZipファイルがこちら。これを使うと840MBが1140MBへ増える。(1280MB版はこちら)ただし、ROMのsystemイメージは840MBで作られているので、ROM焼き→sysrepart.zipでサイズを変更→TWRPを再起動→Gapps等を焼く、という流れ。

今回選んだカスタムROMはThe Unlegacy Android ProjectのAOSP 8.1。結構定期的にアップデートされている。GappsはNanoを選択した。(前回書いたようにGoogle検索アプリはざっくり削除)

いろいろアプリをインストールして、MediaPad T2 7.0 Proと同じ環境にしてみると、システムがチューニングされているのか、かなりサクサクに動く。Nexus 7 (2013)は発売からほぼ6年経ったとはいえ、それなりに台数が売れて、チューニングの情報も蓄積されているからだろう。何故MediaPad T2 7.0 Proを買ったんだろう…とまで思ってしまった。(まぁ、MediaPadはSDカードや指紋認証が使え、それなりに便利だったし、Huawei端末の勉強にもなったので無駄にはなってないわけだけど。)いつも使っているアプリをいろいろ開いて、しばらく使った後でRAMの使用状況をみるとRAMの平均使用率は約40%ほどで、1.1~1.2GBの空きがあった。

Nexus 7 (2013)で粘っていて、そろそろ買い換えようかなぁ…と考えている方は、まずOreoを試してみて、それでも新しいタブレットが欲しいなら買い換えてもいいと思う。ちなみに最近のタブレットは重量がかなり軽い。

MediaPad T2 7.0 Proのinit.qcom.post_boot.shをアップデートしてみた

$
0
0

MediaPad T2 7.0 Proには/system/etc/init.qcom.post_boot.shというファイルがあり、名前の通りブート後に機種別に各パラメータを設定するスクリプトだ。市販のAndroid端末は普通init.dが使えないので、代わりにこのファイルにスクリプトを追加すると実行してくれる。

このファイルではCPUガバナーなどの記述があるが、The Unlegacy Android Project AOSP 8.1のNexus 7 (2013)用の設定がよかったので、同じような設定に変えてみた。変更するのは660~685行。
600行にsleep 60を追加 (60秒ほどウェイトさせることで、設定が上書きされるのを防ぐ)
663行をコメントアウト (#echo “interactive”…)
672行をコメントアウト (#echo 960000…)
676行をコメントアウト (#echo “interactive”…)
685行をコメントアウト (#echo 800000…)
686行に以下のスクリプトを追加

echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "performance" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1113600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
echo "6400,8960,14080,17920,25600,30720" > /sys/module/lowmemorykiller/parameters/minfree
echo 0 > /proc/sys/vm/swappiness
swapoff /dev/block/zram0
echo 1 > /sys/block/zram0/reset
echo 40960 > /sys/block/zram0/disksize
mkswap /dev/block/zram0
echo "noop" > /sys/block/mmcblk0/queue/scheduler
echo 256 > /sys/block/mmcblk0/queue/read_ahead_kb
echo 2975 > /proc/sys/vm/min_free_kbytes

上から説明すると、

  • bigコアのガバナーをondemandにする(Unlegacy Android Projectの設定)
  • LITTLEコアのガバナーをperformanceにする(LITTLEコアの遅さがMediaPad T2 7.0 Proのパフォーマンスを下げているため)
  • bigコアの最低周波数の設定(200MHzに戻ってしまうので実は意味がない)
  • LITTLEコアの最低周波数の設定(ガバナーがperformanceなので実は意味がない)
  • lowmemorykillerの設定(以前から使っている値の方がUnlegacy Android Projectの設定よりよかった)
  • swappinessをゼロに設定(Unlegacy Android Projectの設定)
  • zRAMのスワップをオフにする(Unlegacy Android Projectの設定)
  • zRAMをリセット
  • zRAMのサイズを最小にする(デフォルトでは750MB、ゼロにはできない)
  • zRAMを新しいサイズで作り直す
  • 内部ストレージのI/Oスケジューラをnoopにする(Unlegacy Android Projectの設定)
  • 内部ストレージの先読みサイズを256kBにする(Unlegacy Android Projectの設定)
  • 仮想メモリのmin_free_kbytesを2975にする(Unlegacy Android Projectの設定)

この設定で、アプリの切り替えや画面のスクロールがスムーズになる。(Google検索アプリをシステムから削除しないとRAMの空きが少なり遅くなる。忘れず必ず削除!)

以前はbigコアもLITTLEコアもガバナーをperformanceにしていたけど、bigコアのガバナーをondemandにしてもそれほどパフォーマンスが落ちた感じはしなかった。バッテリーの持ちもperformanceよりは若干よくなるはず。


Xiaomi Mi Box Sを買った

$
0
0


Nexus PlayerはOreoまでアップデートされていたんだけど、やはりRAMが1GBしかないので、KODIを使うとメモリー不足で不安定になったりしてしまうことがあった。GoogleとAmazonの戦いは2019年1月現在も続いており、Nexus PlayerでAmazon Primeビデオは使えない状態。

ということで、Android TV Boxを買い換えることにした。ネットで調べるとSkyStreamがよいということで買ってみた。これが食わせ物だった… RAM 2GB、内部ストレージ16GB、4K、有線LANポート、SDカードスロット、USBポート×2、TVも操作できるリモコンなど、スペック上はかなりいい。ただ、使ってみると今時32bitのシステムだったり、KODIは再生中にハングアップするわ、Amazon Primeビデオのアプリはスマホ版だわ、Amazon Primeビデオの再生中にハングするわ、Chromecastをわざわざ取り除いて有料サブスクリプションのChromecast & AirPlay対応アプリを入れてあるとか、ひどいものだった。(もしかして、普通のAndroidに無理やりAndroid TVのUIを載せたものだったのか??) お金をドブに捨てたと思い、また新しいTV Boxを物色。

XiaomiのMi TVのことは知っていたけど、最近新製品が出ていないという話をちょっと前に聞いていて、残念だなぁ…と思っていたわけなんだけど、全然後継機種が次々に発売されていた。ということで、最新(?)のMi Box SをExpansysで購入してみた。送料込みで9,045円。ケチればもう少し安く買えるかもしれないけど、日本で売っていないものを1/22に注文して、国際宅急便で1/24届いたことを考えれば、全然安い。スペックはRAM 2GB、内部ストレージ8GB、4K、Cortex-A53 Quad-core 64bitで、ほぼRAMが増えて4Kに対応してCPUがx86からARMベースになったNexus Player。起動してみると、素のNexus PlayerにNetflixがプリインストールされているだけで、使い勝手もほぼ速くなったNexus Play。中華TV BOXにありがちな怪しいアプリは全く入っていない。「ほぼ」と書いたのは、リモコンのボタンが若干違うということ。

Nexus Player付属リモコン

Mi Box S付属リモコン

再生・一時停止ボタンがなくなり(便利だったのに…)、Netflixボタン、アプリ一覧ボタン、電源・ボリュームボタンなどが追加された感じ。

KODIはサクサク動くし、Amazon Primeビデオも見られる。Android TV用のAmazon PrimeビデオはもちろんPlayストアにはないので、ネットでNVidia Shield用のPrime Video_com.amazon.amazonvideo.livingroom_4.10.3-googleplay-armv7a.apkを拾ってきて、インストール。何故か若干レスポンスが悪いような気もするけど、何の問題もなく1080pでPrimeビデオが再生できている。

Pixel 3を買ってみた

$
0
0

今まで何度もPixelシリーズを買おうかと思ったものの、いつも見送ってきた。このタイミングというのは別にXiaomi Mi4cに飽きたとかではなく、5Gが来年日本で始まっても韓国の様子を見ているとまだまだそれほどスピードが出ないということから、5G対応のスマホを待っているのはバカらしいと思い始めたからだ。Xiaomi Mi4cの不満といえばカメラのクオリティくらいで、今でもPieでサクサク動いてくれている。

Pixel 3

使用感から言えば、持ったときにかなり滑りやすいと思った。背面にガラスが使われていて割れると悲しいので、普段はケースを使わないものの、今回はケースを付けることにした。指紋認証もHuawei端末並みに速いけれど、センサーの位置が少々高すぎるような気もする。OLEDの特徴を生かして、ロックされると時間・日付・バッテリー残量などが黒いスクリーンに映し出されるのはかなり便利だ。

さてレビューは他の方に任せるとして、システムを弄っていくことにする。

Pixelシリーズは簡単にBootloaderがアンロックできるので、とっととアンロックしてしまう。開発者モードでOEMロック解除・USBデバッグをそれぞれONにして、Bootloaderで起動し、PCに接続してコマンドラインで
fastboot flashing unlock
でBootloaderはアンロックされる。因みにこの時点でGoogle Payの非接触決済は使えなくなる。

オフィシャルのTWRPが既にあるものの、/systemをバックアップしてリストアすると起動しなくなってしまうので、まだ注意が必要(bootパーティションのバックアップ・リストアに問題はない)。Bootloaderで起動し、PCに接続してコマンドラインで
fastboot boot twrp-3.3.0-0-blueline.img
でTWRPを起動する。

普通ならここでadb shellでシェルに入ってhostsなどを書き換えるのだけど、Pixel 3は手強くなっていた。TWRPで/systemは/system/systemにマウントされているので、試しに/system/system/etc/hostsを書き換えてみたものの、何故かAndroidを起動すると広告が消えない。hostsのサイズや権限を確認しても一見問題なく見える。

ここでMagiskをインストールしてroot化し、Android上からhostsを書き換えてみたところ広告が消えうまく行く。ただし、書き換え後にMagiskをアンインストールすると広告が出てしまう… どういう仕組みなのかまだ分かっていない。

Magiskをインストールするとオサイフケイタイアプリがエラーで動かなくなってします。ネットで調べるとMagisk-v19.1からの挙動らしく、Magisk-v19.0-3eae9494(19001)ではオサイフケイタイアプリが問題なく動くということでダウングレードしたところ、オサイフケイタイアプリが動くことを確認した。

今のところroot化したままにしないと、どうしてシステムファイルの変更が反映されないのかは謎のまま。調べようにもPixel 3の情報が意外に少ない。価格が高いためユーザーが少ないのか?Xiaomi Mi4cに続きマイナー機種を手にしてしまったのか?? Pixel 3aがそこそこ売れてくれて、この辺の情報が出てくるのを期待する。

MediaPad M5にシステムアップデートがあった時の忘備録

$
0
0

MediaPad M5にアップデートがあってもリカバリをTWRPなどに変えていたりシステムを改竄していると、通常の方法ではアップデートに失敗する。

最近のHuawei端末はeRecoveryなる便利な機能があるので、これを使ってシステムを元に戻し、通常の方法でアップデートを行う。

eRecoveryモードに入るには、電源を落とし充電・PCに接続したまま(←ここが重要)電源ボタンとVol upキーを同時押しする。

起動したら英語の画面に従ってVol upキーを3秒押し続けるとeRecoveryに移るので、ここでシステムの復元を選択する。WiFi環境が必要なので、WiFiを選びパスワードを入力したらアップデートが始まる。アップデートファイルのダウンロード後認証に失敗した場合、再度やり直す。

アップデートが成功してもユーザーデータは初期化されない。

再起動後電源を落とし、電源ボタンとVol downキーを同時押しし、ブートローダに入る。ここでTWRPをフラッシュする。

TWRPを起動し、Magiskをインストールする。M5ではブートパーティションがなくなったので、Magiskはリカバリ領域に書き込まれる。その為リカバリモードへブートするとroot化されたシステムが立ち上がる。

(最近の)Androidの標準SIP機能は悪くないかも?

$
0
0

ここ数年友人とはチャットやメッセンジャーでやり取りをして、スマホは専ら着信がほとんど。電話を掛けるのは固定電話へのお店の予約か国際電話なので、発信にはBrastelのIPフォンを使っている。

何故かPie辺りからCSipSimpleがインストールできる端末とできない端末があるので、Androidの標準SIP機能を使うことにした。

普通にセットアップすると通話の声がとぎれとぎれになるので「やはり未だにこの機能はおまけなのかなぁ…」と思ったものの、SIPアカウントのオプション設定に「キープアライブを送信」というのがあったので「自動」から「常に送信」に変更してみたところ、普通に通話できるようになった。

CSipSimpleは細かな設定ができるものの、UIがいまいち古臭かったので、標準SIP機能で満足。

Pixel 3の設定

$
0
0
  • 電池残量(ステータスバーに電池残量を表示):オン ※以前まではカスタムROMやサードパーティ製端末でしか%表示が出来なかったが、標準機能になったのはありがたい
  • 夜間モード(指定した時間にON) ※夜間目に優しいので
  • フォントサイズ:大 ※標準サイズは老眼には厳しい…
  • アンビエント表示:常にオン→オフ ※バッテリーの持ちが心配、ダブルタップして通知をチェック・持ち上げて通知をチェック→オン ※常に表示しなくても、時間や通知をチェックしたいならダブルタップや持ち上げればいいだけ
  • 「この曲なに?」ロック画面に曲を表示:オフ ※バッテリーの持ちが心配、使う機会がない
  • 指紋センサーをワイプして通知を表示:オフ ※指紋センサーが遠い
  • ふせるだけでサイレンとモードをオフ:オン
  • アプリと通知→Pixel Launcherアプリ内のその他の設定:ホーム画面にアイコンを追加→オフ、アイコンの形の変更→ラウンドスクエア ※丸いアイコンは嫌!

最近のAndroidの設定は検索機能が付いているので、「あれ、あの設定を変えるのってどの画面だっけ?」というのがなくなった。検索で直接飛べるのは便利。

Viewing all 248 articles
Browse latest View live