ラベル JCROM の投稿を表示しています。 すべての投稿を表示
ラベル JCROM の投稿を表示しています。 すべての投稿を表示

2012年8月8日水曜日

アイコンカスタマイズ

JCROMと言ってもAndroidなので、任意のホームアプリを入れればランチャーのカスタマイズは自由にできるわけですが。
せっかくテーマ機能があってLauncher背景なんかもテーマで設定できるので、それならアプリアイコンもテーマで書き換えられたらおもしろいかな?と思ってやってみました。(差分 ←まだ調整が必要かもです)

アイコンを設定したサンプル:

2012年8月4日土曜日

自動起動

カスタムROMを業務で使うのはいかがなものか…なところだけど、デモ用だとこれも都合がよかったりするのです。
  • 電源ONしたら最初から特定のアプリが起動している
  • ステータスバーやナビゲーションバー(ICS以降Phone UI)、システムバー(HoneyComb以降Tablet UI)を非表示にする
なんてことができたら、特定のアプリしか動かない端末が作れます。

※Phone UIなら 全画面アプリ + ホームアプリ化 で他アプリに遷移できなくすることができるけれど、Tablet UIの場合は設定画面に遷移できてしまうのです。

2012年7月30日月曜日

HTTP logging

Android上で行われるHTTP通信のログを取りたいことがあります。主にデバッグとか。動作確認とか。
カスタムROMを作ればアプリのコードに手を入れなくてもヘッダくらいはロギングできます。
(ストリームに手を入れれば送受信データもロギングできますが、サイズが大きかったりバイナリデータだったりするのでファイル出力するなどの対応が必要でしょう。今回はリクエストヘッダだけをlogcatに出力します)

SIMエミュレーション

Androidは android.telephony.TelephonyManager からSIMの事業者や接続している通信網の事業者情報を取得します。
これらを使ったアプリを作って動作確認する場合、実際に各事業者のSIMを用意したり渡航して目的の通信事業者に接続するか、ラッパクラスを作ってテスト(動作確認)用にスタブのような固有の応答を返すなどの対策をする必要があります。

カスタムROMなら、TelephonyManager 自体にそういう「デバッグ用固定応答」の機能を持たせることができます。
というわけでやってみました。(差分1 差分2

2012年7月22日日曜日

最初からADBデバッグON

初回起動時のデフォルト言語を日本語にしたのと同様、最初からUSBデバッグが有効だったらいちいち設定画面でチェック入れなくていいから楽になる…
という思いでサクッと対応差分を作ってみたのですが、、、
frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.java
                         setAdbEnabled(false);
                     }
                     SystemProperties.set("persist.service.adb.enable", "");
+                } else if (Settings.System.getInt(mContentResolver, "jcrom_adb_inited", 0) == 0) {
+                    // first boot
+                    setAdbEnabled(true);
+                    Settings.Secure.putInt(mContentResolver, Settings.Secure.DEVELOPMENT_SETTINGS_ENABLED, 1);
                 }
+                Settings.System.putInt(mContentResolver, "jcrom_adb_inited", 1);
 
                 // register observer to listen for settings changes
                 mContentResolver.registerContentObserver(

build/core/main.mk とか調べてみたら、 full_maguro-user のかわりに full_maguro-userdebug 使えばデフォルトでADBデバッグ有効になるぽいorz
そんなわけでビルドに使ってるシェルスクリプトを少し書き換えただけでこの差分は破棄 ( ゚∀゚)ノボーイ

初回起動時のデフォルト言語を日本語に

JCROMの JC は Japanese Custom らしいです。
だったら初回起動時から日本語表示して欲しい…!
(選択するだけなんだけど wipe するたびに設定し直すの面倒くさいんだもの)

というわけで調べてみました。
JCROM でも AOSP でも同じはずです。

結論だけ知りたい方は build/target/product/full_base.mk
PRODUCT_LOCALES := en_US

PRODUCT_LOCALES := ja_JP
にしてください。

2012年7月21日土曜日

ピクトのテーマ設定

JCROMネタが続きます。

ガラケーの頃、きせかえと言えばメニュー画面のほかに電池残量や電界強度を示すピクト表示が定番だったように思います。
でも今のJCROMはピクトのテーマ設定に未対応… ナンデ?

というわけでピクトのテーマ設定対応をしてみました。(差分差分
※bitbucketのリポジトリはICS-JCROM版。JB-JCROMでも同様の対応ができそうです。

2012年7月14日土曜日

ActionBarの表示位置設定

JCROMはActionBarが画面下部に表示されます。
素のICSみたく上に表示する設定を対応してみました。

2012年7月12日木曜日

自動回転の固定

というわけでJCROMビルド環境が整ったので、さっそく何か実装してみたいな、と。
今週に入ってからWDFとかINFファイルとか、Windowsのドライバ開発周りの調査と確認ばかりでコードを書けていないので昨夜ちょろっとやってみました。

OSXでJCROM

ちょっとしたブームになったJCROM、遅ればせながら手元でビルドしてみました。
確認されている開発環境はUbuntuだけですが、手元のiMac(Show Leopard)でそのままビルドします。ビルド自体がそこそこ時間がかかる負荷の大きな作業なのでVMとかで(メモリやCPUに)余計な負担を増やしたくないな、と。