2012/12/23

XBMC for Android カスタマイズ

ここでは普通の設定じゃ出来ないけどソース側をちょっと変更することで自分都合ですがいい感じに変更したことを書きたいと思います。こういうわがままもソースがあるからできることなので、オープンソースってやっぱりいいなぁと思います。


「映画」を「録画」変える

以前の記事で.nfoファイルを用意してビデオライブラリをいい感じにするのを行いましたが、地デジ録画ファイルを「映画」として扱っているわけです。それはいいとしても「映画」って違うよねってことで、表示だけでも変更して違和感がないようにしたいと。
ついでに、nfoでstudioにチャンネル、directorに録画日時を入れているので、これらも変更します。

マルチランゲージのファイルはAPKのassetsに入るので、advancedsettings.xmlみたいに外から手出しできません。apkをばらして変更して再構築っていう手もありますが、ビルド環境があるんで普通にやります。

xbmc-android/language/Japanese/string.po っていうファイルが日本語文字列が入っているファイルです。
この中の「映画」ってなっているところを全部「番組」に変更します。
「スタジオ」、「監督」もそれぞれ「チャンネル」、「録画日時」に変更します。

そしたらxbmc-androidのところで
$ make apk
で、apkの構築だけをやれば出来上がり。


ホームアプリ化

http://melea1000.blogspot.jp/2012/09/xbmc-as-launcher.html にも書かれていますが、XBMCをホームアプリ(Lancher)にしてしまおうということです。
XBMCの「プログラム」から別アプリを起動することも出来るんでランチャーとしてXBMCは使えます。
それよりも、リビングで家族でビデオを楽しむSetTopBoxのような環境にしたいわけです。(XBMCが不用意に終わらないようにしたい)

xbmc-android/tools/android/packaging/xbmc/AndroidManifest.xml を変更

<category android:name="android.intent.category.LAUNCHER">
と書かれているところを
<category android:name="android.intent.category.HOME">
<category android:name="android.intent.category.DEFAULT">
に変更します。

常駐するためには、
<application android:hascode="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:persistent="true">
のように、persistentを追加します。が、これやってもやらなくても体感は変わらなかったですね。
すごくレスポンスがよくなるならいいですが、変わらない感じなのでいらないかなと。

これもソースはいじってないので
$ make apk
で、apkの構築だけをやればOKです。

ホームアプリ(ランチャー)を気軽に変更するホームスイッチャー系のアプリを入れておくと便利です。
上記の変更をすると普通のアプリとしては見えなくなる(アプリ管理のAllで見える)ので。


デバッグビルドじゃなくする

ビデオ再生部分とかベースライブラリ群はデバッグビルドじゃないんでパフォーマンスにはほとんど関係ないと思いますが、デバッグログとかXBMC本体のデバッグコードとかちょっとでも処理を減らせたらいいかなと思い、やったことです。

xbmc-android/tools/android/depends/xbmc/Makefile を変更
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) build-aux/ ;\
./configure --prefix=$(PREFIX) --host=$(HOST) \
--enable-neon --enable-gles --enable-debug \
--disable-sdl --disable-x11 --disable-xrandr \
--disable-optical-drive --disable-joystick \
--enable-shared-lib --disable-alsa

って書いてありますが、この中の"--enable-debug"を"--disable-debug"に変更します。

xbmc-android/tools/android/packaging/xbmc/AndroidManifest.xml を変更

ホームアプリ化のところに書いちゃいましたが、
<application android:dabuggable="true" android:hascode="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name">
から、android:debuggable="true"を削除します。
おまじないみたいなものですが、ログ出力とかちょっとでも余計な処理を省けるかなと。

そしてビルド
$ make -C tools/android/depends/xbmc

出来上がったapkのサイズがちょっと減ったので、少しは効果あるかな?と思いましたが体感は全然変わりませんでした。まあ気分ですね。


アップデート

変更じゃないですが、上のような変更をするとなると、もう他からのAPKダウンロードじゃだめです。自分でアップデートしていかないと。
ということで、アップデート手順も簡単に書き留めておきます。

$ cd xbmc-android
$ make -C tools/android/depends/xbmc clean (やらないで済むといいな)
$ git pull
$ make apk
$ adb install -r xbmcapp-armeabi-v7a-debug.apk

通常はこんな感じでしょうかね。makeが通らなかったり、ライブラリ側が更新された時はもっと面倒でしょう。
ライブラリのconfigure当たりからやり直しでしょうか。



とにかくこれで、かな~りしっくりくる環境になりました。これならかみさんにも使ってもらえそうです。

0 件のコメント:

コメントを投稿