Dirty Unicorns don’t play nice.

Dirty Unicorns don’t play nice. Well, at least this one doesn’t. A fellow XDA member made a request for a T-Mobile specific Dirty Unicorn 6.0.1 rom for their phone. I told them that I was working on some other projects, but I thought that I could squeeze it in somewhere. So here is the results of that labor.

To be honest, I have never used DU before, and I didn’t know much about it. It took a while to build it and I had to tweak a few things here and there, but God graciously allowed me to build it. I don’t think that it is something that I would use myself, it just doesn’t seem to be my “style”. It seems to have more of a “gansta” feel, but that’s just my opinion….

A quick test revealed a couple problems though:

  • Failed:
    -Camera app fails to show up. If it does, it took one pic and died.
    -other camera apps can’t use the camera and on reboot disappear.
    -GPS tracked satellites, but I didn’t get a lock in 10 minutes. May need more time.
    -MTP worked.
    -No sound from the speaker, but sound works during phone call.
  • Worked:
    -Phone calls, making and receiving.
    -Texting
    -Data/2g/3g/lte
    -WiFi
    -Bluetooth (tested with file transfer)
  • Notes: Seemed slow, unresponsive.
    -Without Gapps, system took 359 MB of ram to run.
    -With Banks Gapps, system took over 1200 MB of ram to run.

It was almost impressive in the lack of responsiveness with the Banks Gapps installed. Although, it was using over 60% of the phones ram just to run with those Gapps installed. This rom already has a GSM build that can be used on the T-Mobile variant, but according to the users, it is a bit buggy on our phone. Hence the request for a T-mobile specific build.You can find that here: http://forum.xda-developers.com/galaxy-s4/i9505-develop/rom-dirty-unicorns-10-0-t3292806 .Since there is already a better build for it, and I already have numerous builds to work on, I think I will let this one go. At least for now.

Some screenshots:

For the daring, here is a download link:

http://www.mediafire.com/download/9j9clvt4pi2ldjj/DU_jfltetmo_6.0.1_20160608-1313.v10.2-DIRTY-DEEDS.zip

Linux – keep it simple.

ERROR: A build property cannot exceed 91 bytes

While compiling Dirty Unicorns 6.0.1 for the Samsung Galaxy S4 T-Mobile variant (JFLTETMO SGH-M919) I ran into an interesting error, as you can see below.

[CODE]
target StaticLib: libhealthd.qcom (/home/alaskalinuxuser/Documents/projects/phones/compile/dirtyunicorns_m-caf/out/target/product/jfltetmo/obj/STATIC_LIBRARIES/libhealthd.qcom_intermediates/libhealthd.qcom.a)
Target buildinfo: /home/alaskalinuxuser/Documents/projects/phones/compile/dirtyunicorns_m-caf/out/target/product/jfltetmo/root/default.prop
host Executable: checkseapp (/home/alaskalinuxuser/Documents/projects/phones/compile/dirtyunicorns_m-caf/out/host/linux-x86/obj/EXECUTABLES/checkseapp_intermediates/checkseapp)
error: ro.bootimage.build.fingerprint cannot exceed 91 bytes: samsung/du_jfltetmo/jfltetmo:6.0.1/MOB30J/eng.alaskalinuxuser.20160603.060623:userdebug/test-keys (97)
make: *** [/home/alaskalinuxuser/Documents/projects/phones/compile/dirtyunicorns_m-caf/out/target/product/jfltetmo/root/default.prop] Error 1
make: *** Deleting file `/home/alaskalinuxuser/Documents/projects/phones/compile/dirtyunicorns_m-caf/out/target/product/jfltetmo/root/default.prop’
make: *** Waiting for unfinished jobs….

real 182m45.274s
user 122m19.018s
sys 16m49.866s
[/CODE]

So I edited /home/alaskalinuxuser/Documents/projects/phones/compile/dirtyunicorns_m-caf/build/tools/post_process_props.py like this:

[CODE]
# See PROP_NAME_MAX and PROP_VALUE_MAX system_properties.h.
# The constants in system_properties.h includes the termination NUL,
# so we decrease the values by 1 here.
PROP_NAME_MAX = 31
# WJH PROP_VALUE_MAX = 91
PROP_VALUE_MAX = 99
[/CODE]

While editing this, it also pointed out that I needed to edit system_properties, which is in the bionic/libc/include/sys/ folder, so I did this:

[CODE]
#define PROP_NAME_MAX 32
// WJH #define PROP_VALUE_MAX 92
#define PROP_VALUE_MAX 100
[/CODE]

I only needed 97 characters, but I set it for 100 in the system_properties, in case something was longer then that. I then set the post_process_props.py one lower, as the notes above it said. Then I ran the brunch command again. Now, I hope that none of you are thinking, “Man, this guy is smart!” Because, well, I’m not that bright, and I want to give the credit where it is due. So I ran the error through Google a couple of times, and finaly found this:

http://stackoverflow.com/questions/28776970/android-build-error-ro-build-fingerprint-cannot-exceed-91-bytes

And if I had a stackoverflow account, I would slap the upvote button, because that was really helpful.

Linux – Keep it simple.