tkawajir / android_device_lge_geevl04e

L-04E(Optimus G Pro JPN docomo model)
1 stars 0 forks source link

ワンセグ #1

Open tkawajir opened 10 years ago

tkawajir commented 10 years ago

アプリ:JDMB.apk

JDMB.apkからlibBML.soをloadLibrary

AndroidManifest.xmlより uses-library android:name="mmb.android.MmbStBmlMw" uses-library android:name="mmb.android.MmbStCtlMw" uses-library android:name="com.nttdocomo.mmb.android.mmbsv.library" uses-library android:name="com.nttdocomo.mmb.android.mmbsv.porting" uses-library android:name="com.lge.broadcast.oneseg" android:required="false"

/system/etc/permissions/XXX.xmlを参照し、必要なjarファイルを用意する。

boot_ramdiskのワンセグ関連を調べること。

tkawajir commented 10 years ago

ストックカーネルとCMカーネル間でワンセグに関係しそうなコンフィグの差は、

CONFIG_MEDIA_TUNER_SIMPLE=m CONFIG_MEDIA_TUNER_TDA8290=m CONFIG_MEDIA_TUNER_TDA827X=m CONFIG_MEDIA_TUNER_TDA18271=m CONFIG_MEDIA_TUNER_TDA9887=m CONFIG_MEDIA_TUNER_TEA5761=m CONFIG_MEDIA_TUNER_TEA5767=m CONFIG_MEDIA_TUNER_MT20XX=m CONFIG_MEDIA_TUNER_MT2060=m CONFIG_MEDIA_TUNER_MT2063=m CONFIG_MEDIA_TUNER_MT2266=m CONFIG_MEDIA_TUNER_MT2131=m CONFIG_MEDIA_TUNER_QT1010=m CONFIG_MEDIA_TUNER_XC2028=m CONFIG_MEDIA_TUNER_XC5000=m CONFIG_MEDIA_TUNER_XC4000=m CONFIG_MEDIA_TUNER_MXL5005S=m CONFIG_MEDIA_TUNER_MXL5007T=m CONFIG_MEDIA_TUNER_MC44S803=m CONFIG_MEDIA_TUNER_MAX2165=m CONFIG_MEDIA_TUNER_TDA18218=m CONFIG_MEDIA_TUNER_TDA18212=m

tkawajir commented 10 years ago

boot_ramdisk内でワンセグに関連しそうな箇所

・fstab_dcm.qcom

/dev/block/platform/msm_sdcc.1/by-name/OneSeg /OneSeg ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc wait,check

・init.geefhd.rc

on emmc-fmt felica seclog mmbi 1seg partitoin format exec /sbin/setup_fs \ /dev/block/platform/msm_sdcc.1/by-name/felica \ /dev/block/platform/msm_sdcc.1/by-name/seclog \ /dev/block/platform/msm_sdcc.1/by-name/mmbi \ /dev/block/platform/msm_sdcc.1/by-name/OneSeg \ no_reboot

on fs-etc felica seclog 1seg mount mkdir /felica 0771 system system mkdir /seclog 0771 system system mkdir /OneSeg 0771 system system

chmod 0771 /OneSeg
chown system system /OneSeg

LGE_BROADCAST_ONESEG { service broadcast /system/bin/libbroadcast_server class main user media group system audio media graphics sdcard_rw LGE_BROADCAST_ONESEG }

・init.rc

LGE_BROADCAST_ONESEG && LGE_BROADCAST_TDMB { onrestart restart broadcast LGE_BROADCAST }

・ueventd.geefhd.rc

LGE_BROADCAST_ONESEG { For 1seg/MMBi device driver /dev/broadcast_isdbt 0666 system system LGE_BROADCAST_ONESEG }

tkawajir commented 10 years ago

/system/lib/libBML.so に必要な共有ライブラリ libnativehelper.so(○) liblog.so(○) libstdc++.so(○) libm.so(○) libc.so(○) libdl.so(○)

/system/bin/libbroadcast_server に必要な共有ライブラリ libaudioflinger.so(○) libmediaplayerservice.so(○) liblog.so(○) libutils.so(○) libbinder.so(○) libbroadcast_service.so(☓) libc.so(○) libstdc++.so(○) libm.so(○)

/system/lib/libbroadcast_service.so に必要な共有ライブラリ liblog.so(○) libcutils.so(○) libutils.so(○) libbinder.so(○) libmediaplayerservice.so(○) libstagefright.so(○) libmedia.so(○) libandroid_runtime.so(○) libbroadcast_frame.so(☓) libgui.so(○) libc.so(○) libstdc++.so(○) libm.so(○)

/system/lib/libbroadcast_frame.so に必要な共有ライブラリ liblog.so(○) libcutils.so(○) libutils.so(○) libbinder.so(○) libandroid_runtime.so(○) libnativehelper.so(○) libgui.so(○) libc.so(○) libstdc++.so(○) libm.so(○)

tkawajir commented 10 years ago

Stock

root@android:/ # id uid=0(root) gid=0(root) root@android:/ # ls -l /dev/broadcast_*
crw-rw-rw- system system 230, 0 2014-03-23 22:01 broadcast_chkdev0 crw-rw-rw- system system 231, 0 2014-03-23 22:01 broadcast_isdbt root@android:/ # su system system@android:/ $ id uid=1000(system) gid=1000(system) system@android:/ $

tkawajir commented 10 years ago

sharedUserIDを削除して、ドロワーに表示されるように。

04-02 07:17:24.698 W/WindowManager( 794): java.lang.RuntimeException: Binary XML file line #31: You must supply a layout_height attribute. 04-02 07:17:24.798 W/dalvikvm( 9165): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/lge/oneseg/util/TdmbUtility;

tkawajir commented 10 years ago

必要なクラスをストックのframework.jarから移植して、地域選択画面が表示されるように。 地域選択をしていくと落ちる。

04-06 10:07:15.087 E/AndroidRuntime( 6390): java.lang.NoSuchMethodError: android.os.IPowerManager.setBacklightBrightness 04-06 10:07:21.994 E/AndroidRuntime( 6602): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN7android7Surface14readFromParcelERKNS_6ParcelE" referenced by "libbroadcast_frame.so"...