2012年2月9日木曜日

IDEOS U8800 新パッケージが間もなく公開?

新版公開に向けて? IDEOS U8800のGingerbreadアップデートパッケージが引っ込められたようだ。
http://forum.xda-developers.com/showpost.php?p=22300615&postcount=1109
the update package's removed from huaweidevice.com and someone from huawei forum says that the new one will be available next week.
 さっき見に行ったら、この発言の通り、B522はダウンロードリストから消えていた。来週が楽しみ♪

2012年1月18日水曜日

Activity#onDestroy()はいつ呼ばれるのか?

今日見つけた、このIssueにやられました。
Issue 7033: OnDestroy not being called (on N1 running 2.1 latest)
http://code.google.com/p/android/issues/detail?id=7033


うすうす気づいてましたが、Activity#finish()を呼んでも、onDestroy()は期待通りに呼ばれるとは限らないようです。
Androidのアプリを書いたことがあれば、Activityのライフサイクル図は何度も見ていると思います。

http://developer.android.com/reference/android/app/Activity.html
ライフサイクルの終盤にあるonDestroy()へ伸びる矢印の説明を読んだなら、finish()を呼べば速やかにonDestroy()が呼ばれると期待するでしょう。しかし、そうならないケースが存在します。この事は、launchMode="singleInstance"を前提に書いたプログラムで問題になる場合があります。

2012年1月15日日曜日

初期化したらIDEOS U8800快調

リセットの度にホーム画面のウィジェットが消えるのが不便だったので、プリインストールのAlllBackupでアプリケーションをバックアップし、リカバリーモードでユーザーデータを全て消去してみました。以後、快調です。3日位使っていますが、勝手にリセットする事は一度も無く、今は連続稼働時間が59時間を越えています。β版で保存したシステムデータをNormal版で復元したのが良くなかったようです。何か非互換部分があったのでしょう。

xda-developerのForumでは、同じビルド番号のNormal版で「英語版より中国語版の方が調子がいい」とか書いてる人が居ますが、間違いなく勘違いですね。二つのバイナリ(UPDATE.APP)を比較しましたが差分は無く、md5ハッシュを比べてみても完全に同じです。違うのは、アップグレード方法を書いた同梱のPDFだけでした。

2012年1月13日金曜日

Ubuntu 11.10/x86でICSビルド


Shuttle XS35(Atom D510)に2GB memoryというシステムで動いているUbuntu 11.10(x86,32bit)でIce Cream Sandwichをビルドしてみました。

make -j 4 でfull_panda-engのフルビルドにかかった時間は2時間強。
ほぼ同じ設定で、ビルドするのはコレが3回目。カーネルは無し。
16914.10user 1895.84system 2:11:02elapsed
因みに、ccacheの状況はこんなもん↓。
6GBも使ってませんが、64bitならば、もっと大きくなるでしょう。

cache hit (direct)                     0
cache hit (preprocessed)           64493
cache miss                         26336
called for link                     3101
compile failed                         3
couldn't find the compiler             1
unsupported source language         2729
unsupported compiler option          525
files in cache                     52672
cache size                           5.5 Gbytes
max cache size                      20.0 Gbytes
ビルドは出来たのですが、残念なことに、動かす実機を持っていません。


IDEOS U8800 2011年末バージョン

仕事納めの2011年12月28日に、betaでないバージョン(V100R001C00B522G001)が公開されました。もちろんアップーデートしましたが、あまり改善した印象はありません。落ちるときは落ちるし、何より困るのは、リブート後にHome画面のウィジェットが全て消えてしまう事です。「Fast Bootをチェックするとおk」とか言う書き込みもありましたが効果なし。ユーザーデータをクリアしたら直ったとかいう人もいましたが、復旧にたっぷり時間がかかりそうなので、最後の手段と思っています。

ログが出ない件は、xda-developerに投稿されていた設定方法で解決しました。logcatは問題なく動いています。

2011年12月4日日曜日

AOSPのミラーをgitwebで見る

kernel.orgがクラックされて使えなくなったAOSPのリポジトリが10月に復活しましたが、gitwebは同時公開となりませんでした。なので、自分で用意してみました。自分専用に用意するのが「イラネ」「マンドクセ」って人は、http://www.r3pek.org/node/105 のgitwebを使わせてもらいましょう。

AOSPのミラーは、ここ↓の猿真似で完成。
「AOSPをローカルミラーしてみた」の資料を公開したよん。  http://d.hatena.ne.jp/kinneko/20111025/p29
因みに、プロジェクトリストファイルを用意せずにgitwebを使うと、ディレクトリownerのGECOSフィールドがownerとして表示されるらしいので、ミラー用にaospユーザーを作りました。
me@falcon:~$ useradd -d /home/aosp -s /bin/bash aosp
me@falcon:~$ usermod -c "Android Open Source Project" aosp
me@falcon:~$ sudo mkdir /home/aosp
me@falcon:~$ sudo chown aosp:ao /home/aosp
me@falcon:~$ sudo -i -u aosp
aosp@falcon:~$ mkdir bin
aosp@falcon:~$ echo 'PATH=$HOME/bin:$PATH'>.profile
aosp@falcon:~$ . .profile
aosp@falcon:~$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
aosp@falcon:~$ chmod +x ~/bin/repo
aosp@falcon:~$ mkdir AOSP
aosp@falcon:~$ cd AOSP
aosp@falcon:~$ repo init --mirror -u https://android.googlesource.com/mirror/manifest
aosp@falcon:~$ repo sync 
放って置いても日々更新されるように、スクリプトを用意してcrontabに追加。
aosp@falcon:~$ cat bin/mirrorAOSP.sh
#!/bin/sh
PATH=$HOME/bin:$PATH
cd $HOME/AOSP
repo sync
exit 0
aosp@falcon:~$ crontab -l
11 3 * * * /home/aosp/bin/mirrorAOSP.sh
ここから本題。
gitwebが無かったのでインストール。
me@falcon:~$ sudo apt-get install gitweb
/etc/gitweb.conf の中の $projectroot を書き換える。
# path to git projects (<project>.git)
$projectroot = "/home/aosp/AOSP";
 gitwebインストールと同時に/etc/apache2/conf.d/gitwebが用意されるので、http://example.com/gitweb/ を開けばAOSPのミラーが見えます。
下の例では、indextext.htmlでDROID logoとタイトル文字を追加してます。
さらに、descriptionをそれっぽく書き換えたかったので、
aosp@falcon:~$ for f in `locate .git/description|grep aosp/AOSP|fgrep -v '/.git'`; do dn=`dirname $f`; echo "Mirror of ${dn##*/}">$f; done
で一括書き換え。locateのdbはすぐには反映されないので、repo syncが終わって一晩待ってからやったほうがいいかも。
AOSPのgitweb(sort by date desc)
以上。

2011.Dec.10追記
http://www.r3pek.org/ が動いてないっぽい。困った人は http://android.git.linaro.org/gitweb 使うか、自分で鯖立てましょう。

2011年12月3日土曜日

IDEOS X5をGignerbreadにアップデート

U8800+/proよりやや遅れて、IDEOS X5(U8800)の公式Gingerbread(2.3.5)が公開されました。ただし、まだBeta 1.0という扱いです。このバージョンで見つかったバグを修正したリリース版が公開されるのだと思います。xda-developerの書き込みを見ると、"there is no Calendar and Calc apps."とか言ってる人がいましたが、GMSもちゃんと入ってます。早速root奪取して文鎮化してる人("it is in boot loop")も居て楽しそうです。
このGB祭に遅れまいと、私もFroyo(2.2.2)からメジャーアップデートしてみました。このアップデートでは、microSDを使った書き込みを2回行います。気のせいかもしれませんが、以前より動作が軽快になったような気がします。一時、GPS Statusでコンパスが動かなかったりしましたが、今は快調です。放置状態でリブートが一回ありました。稼働時間を見ると、他にも見ていない間にリブートがあったようです。

目立った大きな問題は、ddmsでログが取れない事。

Unable to open log device '/dev/log/main': No such file or directory
の一行でおしまい。ddmsを開いても、device-state, radio-state, logcatは何も情報を出してくれません。ログを参照しないせいか、process status, app-stateは取得できます。


Settingsのバージョン情報
ページ切り替え中のホーム画面