スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Date: --.--.-- Category: スポンサー広告   

adbWireless

adbwireless-01.png
adb コマンドを使って操作する場合、USB デバッグを有効にして USB ケーブルを接続する必要がありました。
しかし、USB ケーブルをつながないで adb コマンドが実行できれば何かと便利です。例えば、AC から急速充電しながらシェルを操作したい、ということもあるでしょう。

adbWireless というアプリを使えば、WiFi 経由で adb を使うことができます。マーケットからインストールすることもできますし、NexTSense は v6.0 からこのアプリを同梱しています。
使い方は至って簡単ですが、root 権限が必須です。

adbwireless-02.png
アプリを起動するとこんな画面になるので、ここに表示されている通り
adb connect 192.168.0.59:5555
と PC から実行すれば、adb が WiFi 経由で接続されます。その後、同じシェルから
adb shell
と実行すれば Desire のシェルを開けますし、ddms を実行すればスクリーンショットやデバッグ情報をワイヤレスで取得することも可能になります。

WiFi 接続がない場合はエラーが出て adb は有効になりません。
また、手動で adb を無効にするにはアプリ中央の赤いボタンをタップします。ボタンが緑色に変わるので、その状態なら adb は無効になります。

アプリの開発の際の実機デバッグでも便利そうですね。
スポンサーサイト
Date: 2010.08.28 Category: desire  Comments (0) Trackbacks (0)

android.process.media 問題?

NexTSense はどうもバッテリーの消費が激しいので、どんなプロセスが走っているのか確認してみようと思いました。
adb shell で Desire のシェルに入り、busybox top を実行するとプロセスの稼働状況を見ることができます。
すると、たまたまかもしれませんが、android.process.media がかなりの負荷で動作していました。
調べてみると、IS01 あたりでは android.process.media 問題と呼ばれる問題が確認されているようで、SD カード上のファイル名の大文字・小文字の取り扱いでこのプロセスが暴走するとか。
解決方法としては、SD カードのフォーマット、SD カード上のファイル名をすべて小文字に変換する、SD カード上で暴走の原因となっているファイルやディレクトリを削除する、などがあるそうです。

android は Linux だから、ファイル名の大文字・小文字は区別するんじゃ・・・?と思ってましたが、SD カードは FAT32 でフォーマットされているので関係ないのでしたね。
試しに SD カード上のファイルを削除して様子をみてみました。まだ一日も試していませんが、ある程度の改善はあるように感じます。
もし急にバッテリーの消費が激しくなった、と思ったら、プロセスの動作状況を確認してみるのもいいかもしれません。
Date: 2010.08.28 Category: desire  Comments (0) Trackbacks (0)

cifs で日本語ファイル名

今回も cifs 関連 です。
実は以前の方法では、日本語ファイル名が文字化けしていました。
これは、文字コードを扱うためのモジュールが不足していたから、なのでした。
NexTSense v6.0 に、「Optimizing CIFS module and add nls_utf8.」とありますね。これで日本語ファイル名も扱えるようになります。
そのためには、mount コマンドを次のように実行します。

busybox mount -t cifs //192.168.0.1/share /mnt/sdcard/samba -o username=USERNAME,password=PASSWORD,iocharset=utf8


最後の iocharset オプションがポイントです。

この文字コードはクライアント側の入出力を判別するだけなので、共有フォルダを設定する側は適切に設定されていれば文字コードは関係ない (はず) です。
Date: 2010.08.24 Category: desire  Comments (0) Trackbacks (0)

Desire のみで長いコマンドを楽に実行する

例えば 前回のエントリ のように、コンソールから長いコマンドを実行したい場合もあるかもしれません。
PC に接続して adb shell すれば簡単ですが、よく使うコマンドの場合はアプリに登録しておけば Desire 単体でもタップするだけでコマンドを実行することができます。
使用するアプリは ConnectBot。SSH クライアントにもなる高機能なターミナルです。

まず ConnectBot を起動して、画面下部のドロップダウンリストから「local」を選択、テキストボックスにわかりやすい名前 (ここでは「mount」) と入力してエンターキー (「確定」など) をタップします。
connectbot-01.png
すると Desire のローカルのターミナルに入るので、メニューキーを押してメニューを表示し、「Disconnect」をタップします。
ホストのリストに戻るので、今作成した「mount」をロングタップして、表示されたメニューから「Edit host」をタップします。
connectbot-02.png
表示された設定画面で、「Post-login automation」をタップします。

するとテキスト入力エリアが表示されるので、そこに実行したいコマンドを入力します。ここで設定したコマンドが、ターミナルに入るたびに実行されます。
注意が必要なのは、ConnectBot は一般ユーザー権限でターミナルを開くことです。設定画面にユーザー名を指定する項目もありますが、うまく root 権限のターミナルを開くことができませんでした。

では mount コマンドのように root 権限が必要なコマンドは、どう実行すればいいでしょうか?
ちょっと長くなりますが、以下のように su コマンドの -c オプションを使えば、root 権限でコマンドを実行することが可能です。

su -c 'busybox mount //192.168.0.1/share /mnt/sdcard/samba -o username=USERNAME,password=PASSWORD'


コマンドは一行で入力します。また、最後に改行を入れないと、コマンドを実行するためにエンターキーを押す必要が出てしまいます。
busybox コマンドを囲むのは、シングルクオート (日本語キーボードなら Shitf+7) です。バッククォート (同じく Shift+@) ではありません。

これで設定画面を閉じ、ホストのリストに戻ったら「mount」をタップすれば、共有フォルダがマウントされます。
同様にして umount コマンドも登録しておけば、マウント・マウント解除が簡単にできるようになります。
Date: 2010.08.22 Category: desire  Comments (0) Trackbacks (0)

cifs で共有をマウント

NexTSense を使っていますが、これの Features に CIFS がありますよね。どうも cifs のカーネルモジュールが有効にされているらしく、これによって Windows の共有フォルダを OS レベルでマウントすることができます。
つまり、ES ファイルエクスプローラのようなアプリで共有フォルダをマウントする機能があるアプリ以外でも、共有フォルダのアイテムにアクセスすることが可能となります。
例えば、Titanium Backup のバックアップ先を共有フォルダにしたりすることも (理論上は) 可能になります。

では使い方です。NexTSense では自動的に cifs モジュールを読み込むので、マウントを実行するだけで OK です。ただし、事前にマウント先となるディレクトリを作成しておく必要があります。
このマウントポイントは SD カードに作成したほうがいいと思います。また、そのディレクトリ以下にあるファイルは、共有フォルダをマウントした時点で見えなくなるので、専用の空ディレクトリを作成したほうがいいと思います。
共有フォルダをマウントするには、Desire で root 権限を取得して (USB ケーブルを接続して adb shell でシェルに入るなど)
busybox mount -t cifs //192.168.0.1/share /mnt/sdcard/samba -o username=USERNAME,password=PASSWORD
とコマンドを実行します。この時、
//192.168.0.1/share 共有フォルダを指定。192.168.0.1 は共有フォルダを設定した PC のアドレス (名前解決が可能ならホスト名)、share は共有フォルダ名。
/mnt/sdcard/samba マウント先のディレクトリ。
username=USERNAME,password=PASSWORD 共有フォルダのアクセス許可を設定している場合は、その認証情報。もしユーザー名、パスワード共に指定せずにマウントする場合は、-o も含めて削除します。
を指定します。
busybox ではない mount コマンドもありますが、こちらは cifs に対応していないので使えません。

マウントを解除する場合は、
umount /mnt/sdcard/samba
と実行します。SD カードのマウント解除をする場合などは、先に共有フォルダのマウントを解除しないと、SD カードのマウント解除に失敗するかもしれません。
Date: 2010.08.21 Category: desire  Comments (0) Trackbacks (0)

NexTSense v5.2

ここ最近は Official Froyo HTC Sense ROM を使っていました。
この ROM は特にアップデートも無いようですし、HTC Sense の使える Froyo も増えてきたので、新しいものに入れ替えてみようと思います。
今回インストールするのは、NexTSense v5.2 Official Sense-FroYo 2.2。
Sense UI そのままの Original Theme と、NexTSense 独自にカスタマイズした NexTSense Theme がありますが、Original Theme をインストールしました。デザインの違いだけで、機能に違いは無い・・・と思います。

使ってみた感じは、Sense UI なので特に違和感もありません。ギャラリーが Nexus One で使われている 3D Gallery と Sense UI のギャラリーの両方が入っているので、好みで使い分けることができそうです。
あとは初期設定で最初から Japanese が選べるようになっていたり、コンソールのシェルが bash になっていたり、通知領域のアイコンなどもカスタマイズされていたりして、よくできていると思います。
カーネルの設定値をチューニングしてメモリの使い方も調節しているようなので、Features にも「Very fast, Clean & stable」と書いているように、きっと動作もキビキビしているのでしょう。
(もともと Desire で遅いと感じることが少ないような気もしますが)

もしバッテリーの持ちが悪いと感じたら、/system/build.prop に
ro.ril.oem.ecclist=110,118,119
ro.ril.fast.dormancy.timeout=3
ro.ril.enable.sbm.feature=1
の3行を追加するといいとか。enable.a52 と enable.a53 は既に存在しています。また、
ro.telephony.default_network=2
を追加すれば、WCDMA only となるようです。ただ、こうすると海外に行ったときに GSM 網につながらなくなってしまうのでしょうか?
もし build.prop を編集したりするのが面倒だったり、とりあえず効果を試してみたい場合は、Desire のコンソールに入り
setprop ro.ril.fast.dormancy.timeout 3
とすれば、手動で設定を変更することもできます。ただし、この場合は Desire を再起動するとクリアされてしまうので注意が必要です。
この辺は、Softbank 製の ROM の build.prop などを参考にすると、さらに適切な設定が読み取れる可能性もあるかもしれません。
値の意味を調べるのが難しいので、どんな効果があるかがわかりにくいところですが。。。
Date: 2010.08.15 Category: desire  Comments (0) Trackbacks (0)
最新記事
最新コメント
ウィジェット
月別アーカイブ
カテゴリ
プロフィール

SC3WO06A

Author:SC3WO06A
FC2ブログへようこそ!


検索フォーム
RSSリンクの表示
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。