事象の水平線

個人的ブックマーク代わりなメモ書きブログ。 地球は丸いよ。↓このへん。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop
AuBee elm (covia Fleaz neo) をFoma SIM用に買ったので AnTuTu v6.0.1 をやってみた。メモ。
ついでに比較で、bnp500、priori2(FT142A)、MemoPad HD7(ME173)

AuBee elm
CP-B43.png

BNP500
BNP500.png

Priori2 (FT142A) kitkat
FT142A.png

MemoPad HD7 (ME173)
ME173.png

PageTop
BLUEDOT BNP-500k (Archos 50b Oxygen) が、中華スマホにありがちな『ナビゲーションキーの戻るが右側』だったので、左側のメニューキーと入れ替えてみました。
ADBです。   rooted端末でやってますが、root要らないんじゃないかな?たぶん。

1./system/usr/keylayout/Generic.kl にキー割り当てが記述されているので、PCに持ってきます。
PC側のローカルのパスはお好きな場所でどうぞ。(一例としてデスクトップにしてます)

>adb pull /system/usr/keylayout/Generic.kl C:\Users\xxx\Desktop
444 KB/s (9096 bytes in 0.020s)


テキストファイルとして開くと、こんな感じだったので
~~略~~
key 139 MENU WAKE_DROPPED
key 140 CALCULATOR
# key 141 "KEY_SETUP"
key 142 POWER WAKE
key 143 POWER WAKE
# key 144 "KEY_FILE"
# key 145 "KEY_SENDFILE"
# key 146 "KEY_DELETEFILE"
# key 147 "KEY_XFER"
# key 148 "KEY_PROG1"
# key 149 "KEY_PROG2"
key 150 EXPLORER
# key 151 "KEY_MSDOS"
key 152 POWER WAKE
# key 153 "KEY_DIRECTION"
# key 154 "KEY_CYCLEWINDOWS"
key 155 ENVELOPE
key 156 BOOKMARK
# key 157 "KEY_COMPUTER"
key 158 BACK WAKE_DROPPED
~~略~~


2.以下のようにMenuBackを 入れ替えて保存
~~略~~
key 139 BACK WAKE_DROPPED
key 140 CALCULATOR
# key 141 "KEY_SETUP"
key 142 POWER WAKE
key 143 POWER WAKE
# key 144 "KEY_FILE"
# key 145 "KEY_SENDFILE"
# key 146 "KEY_DELETEFILE"
# key 147 "KEY_XFER"
# key 148 "KEY_PROG1"
# key 149 "KEY_PROG2"
key 150 EXPLORER
# key 151 "KEY_MSDOS"
key 152 POWER WAKE
# key 153 "KEY_DIRECTION"
# key 154 "KEY_CYCLEWINDOWS"
key 155 ENVELOPE
key 156 BOOKMARK
# key 157 "KEY_COMPUTER"
key 158 MENU WAKE_DROPPED
~~略~~


3.保存したファイルを、端末へ戻します。

>adb push C:\Users\xxx\Desktop\Generic.kl /system/usr/keylayout/Generic.kl
failed to copy 'C:\Users\xxx\Desktop\Generic.kl' to '/system/usr/keylayout/Generic.kl'
: Read-only file system

#読み込み専用と怒られたので、shellで読書き(rw)でマウントしなおします。

>adb shell

root@BNP-500:/ # mount -o rw,remount /dev/block/mtdblock3 /system
mount -o rw,remount /dev/block/mtdblock3 /system
root@BNP-500:/ # exit
exit

>adb push C:\Users\xxx\Desktop\Generic.kl /system/usr/keylayout/Generic.kl
555 KB/s (9096 bytes in 0.016s)

#うまくいったようなので、パーミッションを確認しておきます。


>adb shell
root@BNP-500:/ # ls -la /system/usr/keylayout
ls -la /system/usr/keylayout
-rw-r--r-- root root 165 2014-09-03 21:04 ACCDET.kl
-rw-r--r-- root root 894 2014-09-03 21:03 AVRCP.kl
-rw------- root root 9096 2016-01-07 18:14 Generic.kl
-rw-r--r-- root root 737 2014-09-03 21:03 Vendor_0079_Product_0011.kl
~~以下略~~

#パーミッションが600なので、644にしてあげます。


root@BNP-500:/ # chmod 644 /system/usr/keylayout/Generic.kl
chmod 644 /system/usr/keylayout/Generic.kl
root@BNP-500:/ # ls -la /system/usr/keylayout
ls -la /system/usr/keylayout
-rw-r--r-- root root 165 2014-09-03 21:04 ACCDET.kl
-rw-r--r-- root root 894 2014-09-03 21:03 AVRCP.kl
-rw-r--r-- root root 9096 2016-01-07 18:14 Generic.kl
-rw-r--r-- root root 737 2014-09-03 21:03 Vendor_0079_Product_0011.kl
~~以下略~~

root@BNP-500:/ #


あとは、端末を再起動。
で、うまくいきました。

<<参考>>
Galaxy S4(SC-04E)のボタンの機能割り当てをAndroid純正ROM(AOSP)風に変更する方法。
よく使うadbのコマンド
[Android] Read-only file system

PageTop
BNP-500の分割Romを何とかしようとrooted後、Eclipseからデバッグしようとしたら、
Installation failed due to invalid APK file!
といわれて、ADB経由でインストールが出来ない。

で、結論はStack Overflowの以下にありました。
Permission denied causing “Installation failed due to invalid APK file”
Eclipse installation failed due to invalid APK file?

Try this over ADB:

# cd /data/local
# mv tmp tmp-old # (or simply rm -rf tmp)
# mkdir /mnt/sdcard/tmp
# ln -s /mnt/sdcard/tmp ./tmp


ということ。
詳しくは、Stack Overflow を読んでください。

当初、端末のターミナルからやってだめでしたが、PCからADB経由でうまくいきました。

PageTop
なんだかよくわからないが、気づくと 
C:\Windows\system32\svchost.exe -k netsvcs
が CPU100%(4コアなので全体で25%)になっていつまでたっても終わらない。
どのサービスが使ってるのかと、タスクマネージャー上の右クリックから見てみると、どうやらWindows Update の模様。
Windows10がらみっぽいが、原因がよくわからない(予防する手立てが良くわからない)が(CPU張り付きは)直すことは出来たようなので、自分用メモ(というか、ほぼ、参照元のコピペ。)

コマンドプロンプトを管理者権限で起動
net stop wuauserv
でEnter

C:\Windows\SoftwareDistribution\DataStore
C:\Windows\SoftwareDistribution\Download

以下のフォルダ、ファイルを全て削除 (with/隠しファイルを表示で)

コマンドプロンプトで
net start wuauserv
でEnter

[スタート] メニューをクリックし、[ファイル名を指定して実行] をクリックします。
[名前] ボックスに
regsvr32 wuapi.dll
と入力します。
[OK] をクリックします。
「wuapi.dll の DllRegisterServer は成功しました。」 と表示されたら、[OK] をクリックします。

適度に再起動 など。

WindowsUpdateを実行(有効に)してみる。(しばらく時間がかかるので少しは待ってあげる)

一度で直ったかと思って非公開メモにしてたら、一ヵ月後にも来たから、もしかして、毎月の恒例になるのかも・・・・・・・・・・・なんてこったい。

<<参考>> (直接は関係なかったもの
WindowsUpdateのダウンロードが0%のまま進まない、または途中で止まってしまう
http://plus.lunarscape.net/blog/2014/01/windows-update-stuck.html

WindowsUpdateで更新プログラムの確認が終わらない
http://answers.microsoft.com/ja-jp/windows/forum/windows_xp-update/windowsupdate%E3%81%A7%E6%9B%B4%E6%96%B0%E3%83%97/63ede4ea-9b02-41a2-82c1-dc8adcda65d3?auth=1

自動解決ツールを利用する
http://support2.microsoft.com/gp/windows-update-issues

「最新バージョンの Windows Update ソフトウェアを確認しています」のまま停止する
https://support.microsoft.com/ja-jp/kb/883688

SFC /scannow のエラー ~破損したファイル~
http://blog.livedoor.jp/noboseyarou/tag/SFC

PageTop
Activityに拠らない画面切り替えの方法 2種類
両方とも見えているViewを切り替える。という考え方。
ソースのimportは省略。レイアウトにxmlは使わない派です。

その1:setContentView()を使ってViewを切り替える方法
public class MainActivity extends Activity implements android.view.View.OnClickListener {	

private LinearLayout _firstLayout;
private LinearLayout _secondLayout;
private Button _firstButton;
private Button _secondButton;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Context context = getApplicationContext();

_firstLayout = new LinearLayout(context);
_firstButton = new Button(context);
_firstLayout.addView(_firstButton);
_firstLayout.setBackgroundColor(Color.CYAN);
_firstButton.setText("1st button");
_firstButton.setOnClickListener(this);

_secondLayout = new LinearLayout(context);
_secondButton = new Button(context);
_secondLayout.addView(_secondButton);
_secondLayout.setBackgroundColor(Color.GREEN);
_secondButton.setText("2nd button");
_secondButton.setOnClickListener(this);

setContentView(_firstLayout);

}

@Override
public void onClick(View v) {
if(v == _firstButton){
setContentView(_secondLayout);
}else if(v == _secondButton){
setContentView(_firstLayout);
}
}
}


その2:FrameLayoutにViewを重ねておいて、重ね順を変えることで、手前に見えているViewを切り替える方法
必要であればView.setVisibility(int visibility)も併用
public class MainActivity extends Activity implements android.view.View.OnClickListener {	

private FrameLayout _rootLayout;
private LinearLayout _firstLayout;
private LinearLayout _secondLayout;
private Button _firstButton;
private Button _secondButton;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Context context = getApplicationContext();
_rootLayout = new FrameLayout(context);

_firstLayout = new LinearLayout(context);
_firstButton = new Button(context);
_firstLayout.addView(_firstButton);
_firstLayout.setBackgroundColor(Color.CYAN);
_firstButton.setText("1st button");
_firstButton.setOnClickListener(this);

_secondLayout = new LinearLayout(context);
_secondButton = new Button(context);
_secondLayout.addView(_secondButton);
_secondLayout.setBackgroundColor(Color.GREEN);
_secondButton.setText("2nd button");
_secondButton.setOnClickListener(this);

_rootLayout.addView(_secondLayout);
_rootLayout.addView(_firstLayout);

setContentView(_rootLayout);

}

@Override
public void onClick(View v) {
if(v == _firstButton){
_secondLayout.bringToFront();
}else if(v == _secondButton){
_firstLayout.bringToFront();
}
}
}

Activityに拠らないメリットは切り替えが速い。
LifeCycleとかとかいろいろと面倒なことにならない。たぶん。
デメリット(?)はActivity切り替えのtransitionAnimationが勝手にはつかない。
View次第ではアプリ起動時に全部作るから、時間がかかる(?)メモリを食う(?)のかなぁ?

その1は発想がシンプルだけど、GLSurfaceViewを切り替えるviewに使うと、setContentView()のたびにGLcontextがnullになるらしく、画像読み込みが発生する。と思う。(理解してないだけかも)
その2は重ね順を変えているだけなので、その心配はない。と思う。

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。