2016年9月19日月曜日

No.1 D6 カスタムROM (androqazz mashup20160918) TIPS(4)

アプリパック AppPack20160904.zip
※mashupRomがリブート後10分以上起動しなかったら、再度リブートする
※AppPack20160904.zipは、mashupROM起動後、デバッグモードを有効にしてpcから以下のコマンドを実行。
>adb push AppPack20160904.zip /sdcard/

/sdcard配下に転送後、TWRPでインストールする
※OfficialUpdate20160801では、ブート音の音量を勝手に最適化して再生しているらしい。
 この為、/system/media/bootaudio.mp3の音量を小さくしても効果が無い。
 静音boot,静音shutしたい場合、x-ploreでroot書き込み許可したうえで、以下のファイルを削除すればよい。
/system/media/bootaudio.mp3
/system/media/shutaudio.mp3
TIPS一覧⇒https://sites.google.com/site/androqazz/smartq-zwatch/no-1-d6-mashuprom-ti


 [Mashup][ChamereMAC+ xposed + appsettings_lollipop][OrginalROM] 

No.1 D6はWiFiを接続しなおすたびに、MACアドレスが変更されてしまう。この為、MACアドレスを端末の識別に使用するアプリ(PushBurlletなど)ではデバイスが認識できなくなり、正常動作しなくなってしまう。
また、WiFiアクセスポイントで、MACアドレスによる接続制限をかけることもできない。



ChameleMACを使えば、D6に固定のMACアドレスを割り当てることが出来る。ただし、このアプリは通常の解像度設定では使えないので、AppSettingsを使い、画面設定を変更してから操作する。



MACアドレスに妥当な値を入れて「Apply New MAC」を押すだけだ。

 [Mashup][WakelockDetector + xposed + appsettings_lollipop][OrginalROM] 

スリープを阻害する権限をアプリからはく奪する。

・調査

画面オフやCPUスリープを阻害する権限を持つアプリがある。スリープ阻害権限をはく奪しても、機能的に問題が無ければはく奪する。
調査には、WakelockDetectorを使う。
画面・CPUそれぞれの権限を指定して調査し、阻害している時間が長い物を見つける。




この例では画面オフ阻害権限を持つアプリがリストされている。
28分7秒中29%(8分9秒)が画面オフできず、Sambaサーバが9分57秒分CPUを消費している…という意味だろう。Sambaサーバは常駐させていないので、権限を外す必要は無いが、常駐してしまうアプリなら、権限はく奪を検討しよう。

・はく奪

「permittion manager」等のキーワードで検索し、権限削除アプリを導入してもよいが、mashupROMではxposed + AppSettings が導入されているので、これを使う。



各アプリの設定画面を一番下までスクロールさせると、権限ボタンが現れる。表示される権限画面の「権限の拒否」をオンにしたうえ、android.permittion.WAKE_LOCKを探す。
android.permittion.WAKE_LOCKをタップし、白からピンク表示に替えてOKを押せば権限拒否が設定される。
再起動すればアプリ(例ではBluetoothAutoConnect)がスリープを邪魔することはなくなる。
(同時に、画面オフ時にBluetooth接続が切れても、自動再接続されないという事だが。)


 [Mashup][System Tume][OrginalROM] 

本当にCPUを消費しているアプリを見つけ、対応する。

・調査

システム設定-電池の画面でバッテリーの消費要因を調査出来る。
しかし、要因が「画面」「アイドル」の場合は原因がアプリにあるのかわからない。
また、要因が「Androidシステム」の場合、要因がどのアプリかもわからない。


原因が「UpgradeSysySmartcardService設定、キーチェーン…」どれにあるか判らない。
ここで調査に最適なのがSystemTuner。


起動後、記録ボタンをタップ、画面をオフにして10分程放置。再度SystemTunerをアクティブにして、同ボタンをタップし記録を停止。
アナライザーをタップし、記録ファイルを選べば解析結果が表示される。



画面例では数秒間しか記録しなかったので、「SystemTuner」自身が3.46秒中2.65秒のCPUを消費している。画面上1件のアプリ名しか表示されていないように見えるが、アプリのリストはスクロールして確認できる。
ここでCPU消費の上位にいるアプリに、画面オフ時に常駐する必要が無いのなら、起動時に自動実行しないようにする。例えば「YouTubeアプリ」とか。

自動実行権限のはく奪は、スリープの時と同じようにAppSettingsで行う。android.permittion.RECEIVE_BOOT_COMPLETEDの権限をはく奪すればよい。


 [Mashup][KernelAdjustor][OrginalROM] 



Kernel Adjustor を使えばガバナーの変更やCPU最大・最小クロックの変更が出来るが、
No.1 D6 の場合はすでにディフォルトの状態で、負荷が低い時に4コア中3コアをオフラインにして、最低クロックにする、Interactiveというガバナーが設定されているのでガバナー変更の必要はない。
最高クロック数を低く設定することで、負荷が高い時のCPU電力消費を抑えることが出来る。





No.1D6の場合、最高クロックを最低クロックと同じ604MHzに変更しても、通常動作時に動作上の問題は出なかった。

0 件のコメント:

コメントを投稿