[Miscellaneous Android Development] Christian Troy:
this just let cedar compile (i did the same thing a couple of weeks ago), cedar fails here (while linking the static libraries):

target SharedLib: libCedarX (out/target/product/907/obj/SHARED_LIBRARIES/libCedarX_intermediates/LINKED/libCedarX.so)
/mnt/500G/A10/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./external/cedarx/CedarX/../CedarAndroidLib/LIB_ICS_F23/libcedarxrender.a(subtitle_render_android.o): in function android::CedarXSub::startRender():(.text._ZN7android9CedarXSub11startRenderEv+0xdc): error: undefined reference to 'SkCanvas::setBitmapDevice(SkBitmap const&, bool)'
/mnt/500G/A10/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./external/cedarx/CedarX/../CedarAndroidLib/LIB_ICS_F23/libcedarxrender.a(subtitle_render_android.o): in function android::CedarXSub::startRenderRegion(int, int, int, int):(.text._ZN7android9CedarXSub17startRenderRegionEiiii+0x118): error: undefined reference to 'SkCanvas::setBitmapDevice(SkBitmap const&, bool)'
/mnt/500G/A10/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./external/cedarx/CedarX/../CedarAndroidLib/LIB_ICS_F23/libcedarxrender.a(subtitle_render_android.o): in function android::CedarXSub::CedarXSub(int, int, int, int):(.text._ZN7android9CedarXSubC1Eiiii+0x22c): error: undefined reference to 'SkCanvas::SkCanvas(SkDeviceFactory*)'
/mnt/500G/A10/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./external/cedarx/CedarX/../CedarAndroidLib/LIB_ICS_F23/libcedarxrender.a(subtitle_render_android.o): in function android::CedarXSub::convertUniCode(SUBTITLE_ITEM_INF*):(.text._ZN7android9CedarXSub14convertUniCodeEP17SUBTITLE_ITEM_INF+0x170): error: undefined reference to 'ucnv_open_46'
/mnt/500G/A10/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./external/cedarx/CedarX/../CedarAndroidLib/LIB_ICS_F23/libcedarxrender.a(subtitle_render_android.o): in function android::CedarXSub::convertUniCode(SUBTITLE_ITEM_INF*):(.text._ZN7android9CedarXSub14convertUniCodeEP17SUBTITLE_ITEM_INF+0x190): error: undefined reference to 'ucnv_open_46'
/mnt/500G/A10/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./external/cedarx/CedarX/../CedarAndroidLib/LIB_ICS_F23/libcedarxrender.a(subtitle_render_android.o): in function android::CedarXSub::convertUniCode(SUBTITLE_ITEM_INF*):(.text._ZN7android9CedarXSub14convertUniCodeEP17SUBTITLE_ITEM_INF+0x21c): error: undefined reference to 'ucnv_convertEx_46'
/mnt/500G/A10/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./external/cedarx/CedarX/../CedarAndroidLib/LIB_ICS_F23/libcedarxrender.a(subtitle_render_android.o): in function android::CedarXSub::convertUniCode(SUBTITLE_ITEM_INF*):(.text._ZN7android9CedarXSub14convertUniCodeEP17SUBTITLE_ITEM_INF+0x258): error: undefined reference to 'ucnv_close_46'
/mnt/500G/A10/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./external/cedarx/CedarX/../CedarAndroidLib/LIB_ICS_F23/libcedarxrender.a(subtitle_render_android.o): in function android::CedarXSub::convertUniCode(SUBTITLE_ITEM_INF*):(.text._ZN7android9CedarXSub14convertUniCodeEP17SUBTITLE_ITEM_INF+0x260): error: undefined reference to 'ucnv_close_46'
/mnt/500G/A10/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./external/cedarx/CedarX/../CedarAndroidLib/LIB_ICS_F23/libcedarxrender.a(subtitle_render_android.o): in function android::CedarXSub::convertUniCode(SUBTITLE_ITEM_INF*):(.text._ZN7android9CedarXSub14convertUniCodeEP17SUBTITLE_ITEM_INF+0x628): error: undefined reference to 'ucnv_close_46'
collect2: ld returned 1 exit status
make: *** [out/target/product/907/obj/SHARED_LIBRARIES/libCedarX_intermediates/LINKED/libCedarX.so]

edit: i've get rid of skia with something really nasty... adding those functions to skia sources, i'll see if it breaks anything (i guess it will, but it's worth a try)... the other thing is from ICU, i'll see where are its' sources and try to do the same thing

probably cedar's subs will be borked but hopefully it will load, allowing camera and hw playback

edit2: that _46 refers to the icu version 4.6 and in JB it's 4.8, i guess replacing the whole icu with ics' will be a total fail

edit3: maybe i've found a less intrusive way... i've renamed ics' icu4c library appending a _ics suffix and linking cedarx to libicuuc_ics, in this way it worked now i'll have to see if it loads... i'm doing a nandroid backup right now