攻撃は最大の防御なり

50代おやじの適当なブログです。

スマフォでパワポ

2012-07-13 08:44:58 | Android
自社でもAndroid関連の話をすることになっているんですが
こいつの資料を急遽作らなくてはならなくなりました。
パワポなんて使ったことないw

そういえば「俺のスマフォはexcelやパワポも開けるし、編集も出来るんですよー」と
作成途中の資料を見せたらびっくりされました。
みんな意外と知らないんですね。
blutoothキーボードでも繋いでやれば、こいつは下手なノートPCより高性能なんですよ。

jelly bean

2012-06-29 08:26:20 | Android
Android 4.1 jelly beanが発表されましたね。
最初にリリースされるのはGalaxy Nexusだとか。
でも娘のNexusはDoCoMo製なのでかなり遅くなるんじゃないかな。
そのうちSensationにも来るんじゃないかな。
ASUSのNexus7もちょっと気になりますね。

GWの遊び物Get!

2012-04-27 08:14:35 | Android
特に出掛ける予定もなく寝て暮らすGWになるんじゃねぇかなぁと思っていましたが、
WSL Japanさんから思わぬ遊び物が借りられたんでちょっと楽しみ。
物はP10AN01の後継であるN10CN12とV10CN01です。

巷では格安で売られていたOptimus Padがもてはやされていたりしますが
こう言う聞いたこともないし内容の全然判らない物の方が嬉しいです。
個人的には未開拓の山を切り崩していくプロセスが楽しいのであって
結果、使い勝手が向上したとか速くなったとかはどうでもいいことなんです。
ユーザが多いと誰かがやるだろうと思うし、自分が満足していればそれ以上触らない。
だから猫も杓子も持っている様な機種には手を出しません。

多分このままXvision an4をいじる流れになるんじゃないかな?

DoCoMo端末のICSアップデートは7月

2012-03-27 08:28:29 | Android
DoCoMo端末のICSアップデートは7月ですか?
あそこの端末はゴテゴテとプリインストアプリが入っているから
そう言うのも含めると時間がかかるのも仕方無いんじゃないでしょうか。
遅いのが嫌な人は俺みたいに海外の端末を輸入して使いましょうね。

昨日ふと見たらICS用のカーネルソースが公開されていました。
時間が出来たらオーバークロックカーネルを作ろう。

Gylaxy S2がICSへ

2012-03-14 09:09:27 | Android
Gylaxy S2のICSへのアップデートが開始されましたね。
日本版はまだリリースされていませんが、近々出てくるでしょう。

娘のNexusではSPモードメーラーが頻繁に異常終了するとぼやいていましたが
これでICS端末がメジャーになればアプリ開発にも本腰を入れざるを得ないでしょう。

俺のSensationもリークRUUを使えばICSになりますが、付随してやらなければならない事が増えるので様子見。
正式版が出たら中身を見て色々考えます。

Optimus LTE

2012-02-27 09:13:47 | Android
息子が高校に合格したお祝いとして、スマフォを買い与えました。
機種はOptimus LTE
機種選びの条件として家族が既に持っている機種じゃなくて
日本メーカー製じゃ無いものを選んだら自ずと一機種しか残りませんでした。

これで家族全員がスマフォ。HTC Sensation,Galaxy S2 LTE,Galaxy Nexus,Optimus LTEとバラエティー豊かです。
娘にウルトラブックも買い与えたし、PCの占有率が格段に下がりそうです。良かった良かった。

Gylaxy S2 LTE

2011-12-26 08:50:20 | Android
妻が携帯をGylaxy S2 LTEに変えました。
最初はGylaxy Nexusにすると良いよと言っていたんですが、当分SPモードに対応出来ないらしいので妥協。
ディスプレイサイズは俺のSensationと同じですが薄い分サイズがデカい。
片手で使うのはちょっと無理かもね。
ちょっと触って見た感じ素人にもだいぶ分かりやすくなっているんじゃない?って思いました。
でもメーカー製のPCみたいに要らないアプリがゴテゴテ入ってるのは嫌ですね。
自分の端末じゃないので派手に弄る気は無いですが、それなりに中身は覗かせてもらいます。
これに釣られて娘も近いうちにスマフォに変えるんじゃないかな。

DoCoMoのパケ放が安くなったとは聞いていたけど期間限定なんですね。
公衆Wifiにも加入させたけど、これの無料も期間限定だった。
結局、付け焼き刃的で高くなるんじゃんと思ってしまった。

[Android] boot.imgを入れ換えたらwifiが繋がらなくなったんだけど

2011-12-09 09:06:21 | Android
一応、前回で予定していた内容が終わりましたので、これからは好き勝手に書いて行きます。
役に立つかもしれないし、立たないかも知れないw

良くboot.imgを入れ替えたらwifi接続が出来なくなったと言う人がいますが
これは当然と言えば当然です。
wifiモジュールはカーネルビルド時に生成されるもので、必ず対で無ければならないのです。

では、実際に見て行きましょう。
wifiモジュールは/system/lib配下にあります。
HTC Sensationの場合は/system/lib/modulesですね。
adbから下記のコマンドで探す事が出来ます。

find /system/lib -name *ko

こいつのファイル名は端末が使っているwifiチップによって違います。
入っている場所も違うんじゃないでしょうか?

カーネルが実際にどのモジュールを使用しているのか調べるには

lsmod

です。
wifiモジュールはwifi接続を有効にした時だけ動的に読み込まれます。

ここで注意したいのはカーネルがboot.imgに入っているのに対し
モジュールがsystem.imgに入っている嫌らしい構成になっている事です。
仕組みを理解していない人は関連性に気付かず、はまるポイントとなります。
配布する側としても複数のリソースを同時にcommitしなければいけない状態で
悩ましい所となります。

でも、ちょっと待って下さい。
同じ機種でもリージョンが違ったりすると使えなくなる場合がありますよね。
例えばHTC Sensationの欧州版とアジア版の中身なんてそう大した違いは無いはずです。
それでも使えなくなるのは何故なんでしょうか?

Linux version 2.6.35.14-gc0ac669 (alex@alex-linuz) (gcc version 4.4.0 (GCC) ) #24 SMP PREEMPT Sat Sep 10 12:32:05 JST 2011

これは、俺のSensationから

cat /proc/version

を使って取得したカーネルのバージョンです。

これはwifiモジュール/system/lib/modules/bcm4329.koの中身をバイナリエディタで開いてみた所です。



カーネルバージョンの文字列が入っていますよね。
ここの「gc0ac669」の所はマジックナンバーでビルドする度に変ります。
カーネルはこのモジュールに含まれるマジックナンバーを含むカーネルバージョンが合致しているかを確認し
自分用か判別しています。

ちょっとした裏技ですがここのマジックナンバーを書き換えてしまえば正常に動く場合もあります。

[Android] 変更したboot.imgを使ってみる その2

2011-12-01 08:29:43 | Android
前回はboot.imgを作りましたので、実機で動かしてみましょう。

先ずはbootloaderに再起動します。
HTC製品の方はUSBケーブルを繋いで、ボリューム下を押しながら電源ON
もしくはadbで

adb reboot bootloader

bootloaderの赤反転文字が「FASTBOOT USB」となっているのを確認したら、
目的のboot.imgがあるカレントで

fastboot boot boot.img

再起動がかかります。

今は先程のboot.imgが適用された状態だけどもnandに書き込まれていない
特殊な状態となっていて再起動すると元に戻ります。
boot.imgを弄ったは良いが腐っていて起動しない事はままあるので
こうやってテストすると手戻りが無くて良いですね。

一通りの動作が確認出来てOKだと思ったら、もう一度bootloaderから

fastboot flash boot boot.img
fastboot reboot

これで書き込み完了です。

ここからは「俺の機種はfastbootなんて使えねぇよ!」という人向け。
上記の様なテストは出来ず、いきなり書き込む事になりますのでバックアップは取って置いて下さい。

・flash_imageを使う方法

RomManegerをインストするとflash_imageが付いて来ます。これを利用する方法。
boot.imgをsdcardに突っ込んで

/data/data/com.koushikdutta.rommanager/files/flash_image boot /sdcard/boot.img

tegraの機種を使っている人は同じディレクトリにある「tegra_flash_image」を使ってください。
ちなみに

/data/data/com.koushikdutta.rommanager/files/flash_image recovery /sdcard/recovery.img

とやるとリカバリーの書き換えが出来ます。
RomManegerのClockworkMod更新はこういった仕掛けになっています。

・ClockworkMod Recoveryを使う方法

/sdcard/clockworkmod/backupに適当な名前のディレクトリを作ってboot.imgを入れます。
adb shellで作ったディレクトリに移動して

md5sum boot.img > nandroid.md5


後はClockworkMod Recoveryを起動しAdvanced Restoreからbootを書き込めば終了。
上記のmd5sumを使ってnandroid.md5を作る仕組みは
バックアップファイルの特定領域だけ挿げ替えるのにも応用できます。

[Android] 変更したboot.imgを使ってみる

2011-11-30 09:43:18 | Android
boot.imgの中身をざっと見てきましたが、今回は展開したものからboot.imgを再作成したいと思います。

そのまま固めるのも面白くないのでunsecureなboot.imgを作りましょう。
boot.img-ramdiskの中のdefault.propを以下の様に修正します。

ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
persist.service.adb.enable=1

そうしたら、ここからrepack-bootimg.plを取得してきます。
そしてこれの19行目

system ("mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel $ARGV[0] --ramdisk ramdisk-repack.cpio.gz -o $ARGV[2]");

を自分の端末に合わせ書き換えます

system ("mkbootimg --cmdline 'boot_img_hdr.exeで取得したcmdlineの内容' --base boot_img_hdr.exeで取得したtags_addrの内容 --kernel $ARGV[0] --ramdisk ramdisk-repack.cpio.gz -o $ARGV[2]");

俺の場合はこうなりました。

system ("mkbootimg --cmdline 'console=ttyHSL0 androidboot.hardware=pyramid no_console_suspend=1' --base 0x48000100 --kernel $ARGV[0] --ramdisk ramdisk-repack.cpio.gz -o $ARGV[2]");

それと、 ここからmkbootimgを取ってきます。パスワードは「android」
これは repack-bootimg.plと同じディレクトリに置いて下さい。

使い方は
./repack-bootimg.pl [カーネルのファイル名] [ramdiskのディレクトリ名] [出力するboot.img名]

固まりましたか?
ちなみにカーネルをビルドした時にもこうやって固めます。