Android メモ

何か増えたら,追記して日付更新します.

  • adb remount で /system とかを書き込み可能な状態で remount できる
  • wipe data/factory reset で,ROMの初期状態に戻る.
  • gapps が気に食わない場合は,無効化and削除:
    http://smartgoods.me/2011/07/disabling_preinstall_apps/
    http://d.hatena.ne.jp/unagi_brandnew/20100627/1277578526
    adb shell して pm list packages -f でパッケージ名とapkの対応を調べて,
    無効化 → pm disable packagename
    削除 → 無効化 + rm apkname; pm uninstall packagename
    戻す時は,apk を用意して adb install apknameとか./system/app にあったアプリでこれが使えない場合は,/system/app に apk を入れて reboot
  • いらなさそうなアプリ候補
    • 天気とニュース GenieWidget
    • メール Email
    • CarHome CarHomeGoogle,CarHomeLaunch
    • 電話系(wifiのみの場合) Phone,TelephonyProvider
    • ボイスダイヤル VoiceDialer
    • ギャラリー(Gallery3Dを入れる場合) Gallery
    • SMS(MMS) Mms

Android で MP3 の ID3 タグが文字化け

Shift-JIS で書かれた ID3 タグは文字化けするらしい.
解決するには,MP3tag で mp3 を開いて,タグを保存し直せばOK.

注意:Windows 7 で mp3tag の日本語用 lang ファイルをインストールフォルダ配下の lang フォルダへコピーする時, Windows 標準のエクスプローラでコピーしないと,オプションで選択できない.
UAC 絡みっぽいけど,詳しい原因は知らない.

Android カスタマイズ

Android のメモリを増量(?)する.
compcache 使ってもイマイチだったので,マニアックなことをしてみることにした.

前提.
root 化済. (rooted phone)
過去記事では Android 1.6 に戻しているが,その後に Android 2.2 にまた戻している.
カスタム ROM として, CyanogenMod-6.1.0-DS を導入済.
操作する PC は Windows 7 Prof. SP1 で, ADK とか adb は導入済. (adb version 1.0.26)

やること概略

hboot 書き換え.
kernel 変更.

###用意するもの

  • rootが取れていて, recovery を書き換え済な HT-03a .ない人は,手順書/Recoveryの変更 | Android Custom Cookbookとか見てやれば,なんとかなると思う.
  • Android SDK を導入済で, android-sdk-windows (win の場合) の tools と platform-tools に path を通した PC . Android マーケットのツールから root を取った人は,導入してないかも知れない. eclipse なんて複雑で重いソフトはいらない.全部 DOS で叩く.
  • microSD -> SD なるアダプタ.だいたいの microSD にアダプタはついてくるので,手元にあると思う.
  • SD カードが差さる,カードリーダ/ライタ.持ってない場合は,必ず,最初に下記の手順を全部読んで,必要なデータを microSD に入れておくこと.それでも,必ず何か入れるべきものを漏らすので,素直に用意しといた方がいいけど.

具体的手順

基本的には,とりあたまさんのおぼえがき: HT-03Aでまだまだ戦う (RAM増量編)を適用するだけ.
ただし,単に rooted なだけでは,fastboot が動作しないため,ちょっとハマる.
というか, fastboot を調べる所から,ハマる.
なので,具体的に書く.

  1. 手順書/SPL変更手順 | Android Custom Cookbook の通り,update.Engineering-SPL-HBOOT-1.33.2005-signed.zip をSDカードへコピー.
  2. 一旦電源を落としてから,Home+電源ボタンで,リカバリーモードに入る.
  3. RA のバージョンに依るけど, backup っぽい選択肢を選ぶ→ nandroid の backup っぽいのを選ぶ.
    hadacchi の導入している 1.7.0 の場合,
    [Backup/Restore] -> [Nand backup] -> Homeを押して実行
  4. 結構時間をかけて終わったら,さっきコピーしたzipを適用する.
    flash zip っぽいのを選ぶ.
    hadacchiの場合,
    [Flash zip from sdcard] -> [update.Engineering-SPL-HBOOT-1.] -> Homeで実行
  5. Home+戻るボタンで,reboot させる.トップメニューからの reboot では正しく反映されない.
  6. またリカバリーモードに入るので,[Power off] -> Home
  7. microSD へ, hboot-1.33.0013d.img と radio-2.22.27.08.img をコピー
  8. microSD を HT-03a に差して,ボリュームダウン+電源ボタンで起動
  9. USB で PC と接続する
  10. 戻るボタンで fastboot モードに入る
  11. コマンドプロンプトでとりあたまさんのおぼえがき: HT-03Aでまだまだ戦う (RAM増量編)にある hboot と radio の img を置いたフォルダに移動し,
    fastboot flash radio radio-2.22.27.08.img
    fastboot flash hboot hboot-1.33.0013d.img
    fastboot reboot-bootloader

    を実行.
  12. 同様に,
    fastboot erase system -w
    fastboot erase boot

    して端末の menu ボタンで電源断.
  13. microSD へ,とりあたまさんのおぼえがき: HT-03Aでまだまだ戦う (RAM増量編)にある Kernel 2.6.35.11 とやらをコピー.
  14. Home+電源 ボタンでリカバリーモード起動
  15. バックアップした nandroid のリストア.
    hadacchi の場合,
    [Backup/Restore] -> Nand restore -> なんかバージョンを選ぶ -> Home
  16. kernel 2.6.35.11 の zip を適用.
    hadacchi の場合,
    [Flash zip from sdcard] -> [boot-cm_2635.11_ds_32b_radio270] -> Home
  17. 再起動しておしまい.
    hadacchi の場合,
    [Reboot system now] -> Home

関係ないけど知ったこと

CM6.0 導入端末で,/sd-ext を書き込みできるよう / をremountしてからsd-extにuserinit.shを入れても,次回起動時に消される.
対処法として考えられるのは,init.dに入れてしまうことだが,なぜかcompcacheのサイズは変更されなかった.
adb shellで,compcache start <size>(KB単位) とすれば,サイズは変更できる.

Android 2.2から1.6へ

軽いと噂のCM6.1を使っていたが,やっぱHT-03aでは重いので,Android1.6を導入することにした.

今回は,Super D 1.11 non ram hack
こいつの導入にあたっては,いくつか注意がある.

Super D は1.5くらいから,SDカードのswapパーティションに対応しており,
ちゃんとパーティションを切ってやらないと動かないため,
まず,リカバリーイメージをアップデートしてSDカードにパーティションを切れるようにすること.
DRC83_base_defanged.zipから導入すること.
更に,b-mobileのSIMを挿す場合は,libhtc_ril.soを差し替えること.

導入にあたって参考にしたページはここ→HT-03a カスタムROM導入ログ-vol.1「初期設定とGoldcard作成」 « Midnightjapan
b-mobile対応にあたって参考はこちら→Android 1.6でbmobileが動いた « コムギドットネット

  • ここから,recovery-RA-sapphire-v1.7.0G.imgを落として,SDカードへコピー
  • Android SDK を導入して,
    > adb shell
    $ su
    # flash_image recovery /sdcard/recovery-RA-sapphire-v1.7.0G.img
    

    として導入.

  • 一旦電源を落とし,Homeを押しながら起動してリカバリーモードから
    「Partition sdcard」を選択し,[swap:32MB/EXT2-size:512MB/FAT:Remainder] でフォーマット
    「SD:ext2 to ext3」を実行してext3フォーマットに変換.
  • 再起動後,別のSDカードにDRC83_base_defanged.zip,SuperD v1.11 をコピーし,この順番で導入
  • パーティションを切ったSDカードを差して起動

HT-03a+b-mobile sim u300

白ロムを手に入れたので,docomoのsimをガラケーに,b-mobileのsimをht-03aに入れて使おうと試みた.
ちょっとハマってしまったのでメモ.

症状
b-mobileの設定通りにAPNを設定しても,圏外表示のままであり,
Gmailの同期エラーが繰り返される.
解決策
  1. ブラウザを起動して,圏外表示でも接続できていることを確認する
  2. notification (通知領域?) に表示されるGmailのエラーを選択して,パスワードを改めて入力する

しかし,googleのcontactsとは同期できているアドレス帳を,どうやってガラケーに落としたものか…
ガラケー→スマフォンの移行は楽にできたが,逆の方法は1分ぐぐっただけでは発見できなかった.
vcfを取り込む方法くらいありそうなものだが…ま,他に時間ある時にでも調べよう.

-- 追記
\SD_PIM\PIMxxxxx.vcf という名前にすれば,読み込むことができた.
しかし,なぜか本体にコピーできないので,vcfファイルの中身を調査中.

-- 追記2
多分,UTF-8がquoted printableとやらでエンコードされてvcfに落ちているのが問題じゃないかと.
ガラケーで直接vcfを読み込んで表示することはできるが,コンバートが失敗しているのかしら.その点では,登録noがないことの方が問題なのだろうか.
いずれにせよ,その辺りのフォーマットの問題と思われ.

-- 追記3
ガラケーの仕様上,ふりがなが半角カナではないと未設定扱いになってしまい,
その他リストに全て入っていた.
ふりがなを設定すれば普通に見ることができた.

なんで,HT-03aはCH11,CH13,CH14しか選択できないのだろう

IEEE802.11gの話.

ウチのHT-03aは中身をいじっているが,いじる前から,CH11, 13, 14しか選択できなかった気がする.

無線LANには,IEEE802.11a,IEEE802.11b,IEEE802.11g,IEEE802.11nなどの通信の規格がある.
他にもセキュリティ機能とか,通信品質(QoS)だとかの規格が11iだとか11eだとかあったりするが,それは割愛.

IEEE802.11gというのは,ある無線の周波数帯(2.4GHz帯)での無線LANの仕様のこと.
具体的には,2.412~2.4835GHzが使われているらしく,その間を13個のチャンネル(CH)に分割して,定められている.(11bは14個)
ただし,13個のCHは,完璧に分割されているわけではなくて,例えばCH1はCH2~CH5とかぶっている.
で,これらを使うと,無線LANの親機を複数台置いてCHを分けることで,混線を防ぐことができる.
(三重に住んでいた時は,1314kHzのラジオ大阪と1332kHzの東海ラジオが混線して困ることがあった.懐しい…)

で,国際的にはIEEE802.11gの規格ではCH1~CH11までしか使わないことが多いらしい.(CH13まで説もあるので,その辺は知りたい人が調べてください)
そんな事情を考えれば,CH1~11で選択できるようにするべきであって,CH11,13,14という選択肢はおかしい気がする.
機器によってはCH11までしか吹けないものもあるので,必然的にCH11を選ばざるをえないのだが…なぜこんな設計になったのだろうか.

なんでこういう話になったかというと,ポケットWi-Fiを買って,周囲の無線LANの設定を見直したから.
別の話だが,「SIMロックフリーのポケットWi-Fi+スマートフォン+3GのSIM×2枚」で使う方が,スマートフォン単体で使うより月額料金が安くなるのが驚きである.

Android 携帯で Gmail が何日も送信されない件

Android 携帯(HT-03aを使用中)で,「Gmail」 でメール送信をしようとしても,送信トレイ内で送信中と表示されたまま,何日も送信されない,ということがたまに起こる.
以前考察では(HT-03Aメール関係トラブル),データの同期という設定項目が原因じゃないかと書いた.
でも今の状況を考えると,解決方法(データの同期のチェックをオン・オフする)は合っていたようだが,原因は違うんじゃないかという気がする.
今回は,どう解決していいか分かってませんが,メモ程度に.

以前の考察の復習

以前の考察の前提条件.

  • 「Gmail」,「メール」とは,それぞれGmail,メールという名前のAndroid上のアプリケーションプログラムのことをさす.Webサービスの Gmail や一般的な電子メールのことは,括弧無しでそれぞれ書く.
  • 設定>データの同期>Gmail のチェックボックス,をオフにしている
  • 普段は「メール」を使っており,同期間隔を15分にしていた
  • たまに「Gmail」でメール送信していた

以前の考察時に起こっていた事象

  • 「Gmail」でメールを送信しようとしても,送信トレイに送信したつもりのメールが入っており,送信中と表示されたまま数日経っても送信されていた
  • 設定>データの同期>Gmail のチェックボックス,をオンにした途端,たまっていたメールが一斉に送信された

今回の事象

状況

  • データの同期のチェックは入れていた
  • twitterを読めていた(3Gでwebに接続できていた)環境下で,「Gmail」でメールを作成し送信した,つもりだった
  • その後,他にも数件「Gmail」でメールを作成し送信していた
  • 翌日,どうも話が噛み合わないので確認したら,送信トレイにメールが残っていた.しかし,その後に出したメールは届いていた

android phone に差した microSD カードへ swap ファイルを作ったまま USB 経由で PC からマウント

HT-03a での話.
microSD カード上に swap ファイルを作ったまま,USB で PC につないでマウントしてしまうと,アンマウントした時に正しく microSD を認識できなくなるよ,っていう当然の話.
このようにマウントされた microSD カードを PC からアンマウントすると「SD カードが破損しています」的なメッセージが出る.
こうなると,携帯の再起動しかない.
マウント前に swap を解除すれば済むという簡単な話なのだが,この点を警告している swapper 導入解説サイトを見たことがないので,困った人が検索で辿りつけるように書いておく.

きっと,microSD のパーティションを切って swap partition を作ればいいんだと思うのだが,パーティション切るのも面倒だし,失敗した時に戻すのも面倒そう.
試した人がいたら教えてくだしぃ.

何言ってるか分からない人のために,ちょっとだけ解説.

OS ダウングレード
swap ファイルを作るには,Android OS の root 権限を取るための su コマンドを使えるようにしないといけないが,普通に操作していてもできない.
Android OS のバージョンが 1.6 の場合,頑張ってもできないので,OS を入れ直す必要がある.
「Android 1.6 1.5」とかで検索すると,多分情報が見付かります.
ある意味,HT-03a という製品をソフト的にぶっ壊す操作をするので,動かなくなっても泣かないこと.
最悪,起動しなくなる.なったから焦った いやぁ,試すわけないじゃん,HAHAHA.
root化・swap 導入
OS の上書きが終わったら,root 権限を取るソフトを落とすか,コマンドラインを叩いて root 権限を取る.
どう考えても前者のが楽.
奇跡的に Android 1.5 のまま使ってる人がいたら,この手順からやることになるハズなので,すげー楽なんだろうきっと.
root 権限が取れたら,swapper を入れるなり,OS をもう一度上書きして 1.6 にして swapper2 を入れるなりでできるもより.

もちろん,試してませんけどね.

ところで,linux の運用の延長みたいに考えると,swapper2 標準の 32MB で swap ファイル作っても心許ない.
しかし,これは本当に試していないが,128MB とかそれ以上を確保しようとすると失敗するという話もある.
HT-03a の公称 192MB は諦めて,ソフトウェアから見える 96MB くらいが丁度いいんじゃないだろうか.

それはさておき,どうせ OS の上書きするんだったら,軽量版を入れたらそもそも swap なんていらないんじゃないの,とか
いくらフラッシュメモリ上に作るったって,swap ってソフトウェアの軽量な動作と直接は関係ないんじゃないの,とか
いろいろ疑問は尽きません.
いやいや,後者については,GC が減るから軽く感じるとかそういうことなのだろうか…?