Skip to content
RC3 edited this page Jan 22, 2014 · 33 revisions

What's this?

Base Source : AOSP purely android(gapps NOT contained, what's root?) + Miracast patches
If you have problem using this ROM, please send me an e-mail with adb logcat txt!

root instruction after OTA-ROM installed

from USB(adb) connected PC

 $ adb root
 $ adb remount
~ ~ ~
 $ adb push Ringo.apk /system/app

Dropbox download error!!

This account's public links are generating too much traffic and have been temporarily disabled!

my account traffic limit is 20GB / 1day.

4.4.X based

Update Info

  • 2014/01/XX - V3 - Sink Update
  • 2014/01/01 - V2 - Full HD
  • 2013/11/24 - V1 - src & driver update to 4.4.2 / add GN maguro / flashable
  • 2013/11/08 - V0 - 4.4 / N7 2012 reborn
    • 4.4 source + 4.3 driver. Did you know this meaning? Is this a correct build way?
    • Screen Rotation failed? Could you use force rotate util app??

flashable update zip

Nexus 4

Nexus 7 2012


!! needed latest recovery !! * i'm using openrecovery-twrp-2.6.3.1-tilapia.img for N7 2012 3G(tilapia).

3G(tilapia) tested

Wi-Fi(grouper) no-test

Nexus 10

Galaxy Nexus


!! needed latest recovery !! * i'm using openrecovery-twrp-2.6.3.1-maguro.img.

GSM(maguro) tested

Galaxy S2

GT-I9100 tested


----

4.3 based

??

Update Info

AOSP 4.3_r2.1 + Miracast patches: ummm, currently debugging stacked!

  • 2013/09/XX - V3_0 - first release?? <-- ???

----

4.2 based

Update Info

OTA: AOSP 4.2.2_r1.2 + Miracast patches

  • 2013/07/19 - V4 - Screen Rotation Fix(for Youtube App, etc), JNI Sink App Finish Fix, Sink Response Fix
  • 2013/07/15 - V3 - option menu available
  • 2013/07/08 - V2 - always HDCP Skip Fix
  • 2013/07/05 - V1 - grouper Miracast Enabler Flag Fix
  • 2013/07/03 - V0 - first release

update.zip: Base Source : AOSP 4.2.2_r1.2 + Miracast patches * 2013/08/15 - V_U0 - first release. unstable!!

V3

->

if you have HDCP authentication trouble with connect to a sink, try this "Skip HDCP" option. PTV3000 works when hdcp skipped!

Nexus 4

  • NOT YET

Nexus 7

3G(tilapia) tested

CyanogenMod 10.1 Based

Wi-Fi(grouper) no-test

Nexus 10 no-test

Galaxy Nexus

GSM(maguro) tested

Galaxy S2

GT-I9100

  • NOT YET. because when in miracast Source, reboot-loop occurred! Sink is OK.

----

How to install *.zip?

install recovery

download zip

check md5sum

copy file to SD-card

$ adb push YYYYMMDD_XX_full_DEVICE-ota-eng.satoken.zip /sdcard/
$ adb reboot recovery

recovery

"wipe data/factory reset" // maybe required Full Wipe // when in boot loop after flashed ROM / flashable
"Yes"

"install zip from sdcard"
"choose zip from sdcard"
"0" (this is example N4. maybe other device is differ)
"Yes"

"reboot system now"
("disable flash recovery - Yes")
"Yes"

----

How to create update.zip?

How to create update.zip

 (full pure build)
 (apply patches)
 (rebuild)
 (correct update files)
 (edit /META-INF/com/google/android/updater-script)
 $ zip -r ../update-mira.zip *
 $ cd ../Auto-sign
 $ java -jar signapk.jar testkey.x509.pem testkey.pk8 ../update-mira.zip ../update-mira_signed.zip
 $ adb push ../update-mira_signed.zip /sdcard/
 $ adb reboot recovery
 (flash update-mira_signed.zip)

Miracast Source requires these libs and binaries.

/system/app/Mira4U.apk

/system/bin/audioloop
/system/bin/codec
/system/bin/decoder
/system/bin/mediaserver
/system/bin/record
/system/bin/recordvideo
/system/bin/sf2
/system/bin/stagefright
/system/bin/stream
/system/bin/testid3
/system/bin/udptest
/system/bin/wfd

/system/etc/audio_policy.conf

/system/lib/libMira4U.so
/system/lib/libOpenMAXAL.so
/system/lib/libOpenSLES.so
/system/lib/libmedia_jni.so
/system/lib/libmediaplayerservice.so
/system/lib/libstagefright.so
/system/lib/libstagefright_chromium_http.so
/system/lib/libstagefright_soft_flacenc.so
/system/lib/libstagefright_soft_g711dec.so
/system/lib/libstagefright_soft_h264dec.so
/system/lib/libstagefright_soft_h264enc.so
/system/lib/libstagefright_soft_mp3dec.so
/system/lib/libstagefright_soft_mpeg4dec.so
/system/lib/libstagefright_soft_mpeg4enc.so
/system/lib/libstagefright_soft_vorbisdec.so
/system/lib/libstagefright_soft_vpxdec.so
/system/lib/libstagefright_wfd.so
/system/lib/libvariablespeed.so
/system/lib/libvideoeditor_core.so
/system/lib/libvideoeditor_jni.so
/system/lib/libvideoeditorplayer.so
/system/lib/libwilhelm.so

/system/lib/hw/audio.r_submix.default.so

I'm afraid, XXX custom rom and patches cross update same binary. What's happen?

Sink require framework.apk.

[Solved?] 2013/08/15 - One Problem!!

app install error

 $ adb root
 //$ adb remount
 $ adb shell mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system    
 $ adb push Mira4U.apk /system/app
 $ adb logcat
  I/PackageManager(452): /system/app/Mira4U.apk changed; collecting certs
  W/PackageManager(452): Signature mismatch for shared user : SharedUserSetting{416908d8 android.uid.system/1000}
  E/PackageManager(452): Package com.example.mira4u has no signatures that match those in shared user android.uid.system; ignoring!

Mira4U.apk couldn't install!!!! This app uses HDCP skip toggle, it's important!!

no relation to result in signed or unsigned

$ java -jar signapk.jar platform.x509.pem platform.pk8 Mira4U.apk Mira4U_signed.apk

android.uid.system

Mira4U.apk require android:sharedUserId="android.uid.system" for system db read/write. very easy way to sharing values in Java app and native layer.

-Java App
  SystemProperties.set(key, chk ? "1" : "0");

-native layer
  mDiabledLog = property_get("persist.sys.wfd.disablelog", val, NULL) && strcmp("1", val) == 0;

hmmmmmmmm

My Solution

read app xml directory from native layer!

  FILE* fp = fopen("/data/data/com.example.mira4u/shared_prefs/prefs.xml", "r");

other problem for Mira4U.apk

W/PackageManager(491): Not granting permission android.permission.ACCESS_SURFACE_FLINGER to package com.example.mira4u (protectionLevel=2 flags=0x88be45)
W/PackageManager(491): Not granting permission android.permission.CONFIGURE_WIFI_DISPLAY to package com.example.mira4u (protectionLevel=2 flags=0x88be45)
W/PackageManager(491): Not granting permission android.permission.CONTROL_WIFI_DISPLAY to package com.example.mira4u (protectionLevel=2 flags=0x88be45)