Remove All Ads from XDA

[UNOFFICIAL] Xposed for Samsung Lollipop by arter97

3,193 posts
Thanks Meter: 27,819
 
Post Reply Email Thread
/* Intro */

3 months after the first functional Xposed for Lollipop by @rovo89 was introduced,
now here comes *somewhat* functional Xposed for Samsung Lollipop firmware.

Embrace yourself.

/* Technical background */

Why were Samsung users left out of the Xposed party?
Because Samsung has massively customized ART runtime included in their firmwares compared to AOSP.
And plus, because the system partition has so little space left, they have additionally implemented xz decompression on top of ART.
Those 2 main reasons has differentiated Samsung's ART from the rest of the ROM's ART.

More technical information on post 2.

/* Disclaimer */

Your warranty is now void.
I am not responsible for bricked devices, dead SD cards,
thermonuclear war, or you getting fired because the alarm app failed. Please
do some research if you have any concerns about features included in this project
before flashing it! YOU are choosing to make these modifications, and if
you point the finger at me for messing up your device, I will laugh at you. Hard. A lot.

/* Prerequisite */

Due to my skills limitation, only deodex'ed ROMs are supported for now.
For more explanations, checkout post 2.

/* Supported firmwares */

Every ARMv7(32-bit) Samsung Lollipop Android 5.0 deodex'ed firmware should work.
But please note that I have tested this only on Galaxy S4, Note 3 and S5.

For 64-bit, please check http://forum.xda-developers.com/xpos...lipop-t3180960 by @wanam
For 32-bit on Android 5.1, I cannot develop on it as I don't have any 32-bit devices capable of running Android 5.1.

/* Before you download ... */

Donate to @rovo89
Donate to @wanam
Show your thanks to @_riddle
Without these people, this would not have been possible at all.

/* Details about binaries */

CyanogenMod's ART runtime changes merged - Performance improvements
Compiled using Linaro GCC 4.8
Method in-lining optimizations made in Android 5.1 merged
Few Android M ART runtime changes which were early-adopted by Samsung merged
-O3 and other compiler optimizations added
Release separated to "exynos" and "snapdragon" versions for more compiler optimizations
Optimize everything enabled

/* Download */

Attached below on XDA

/* How to install */

1. No matter what you do, back-up first.
2. Install XposedInstaller app from http://forum.xda-developers.com/show....php?t=3034811
3. Flash the attached Xposed framework zip on the custom recovery.

/* How to uninstall for V1 ~ V7 */

1. Flash the attached Xposed uninstaller zip on the custom recovery.

/* v75+ sticky note */

With v75 and up, this port do not longer touches core-libart.jar, thanks to @wanam.
This would potentially increase compatibility and fix other weirdness such as malfunctioning email app.
However, this introduces some variables.

First, there are more versions that you should choose.
Exynos and Snapdragon is quite self-explanatory, but there are now new "requestConcurrentGC" version for maximizing compatibility.

Don't know what to choose? Don't worry, it won't break your device if you install a wrong one.
If you install a wrong one, the installer will simply tell you that you should go with the other version.


As far as my testing goes, only the Korean Note 3 firmwares should install "requestConcurrentGC" version.

Uninstaller part have changed too.
You need to use uninstaller provided directly by @rovo89.
Do not use my uninstaller for v75 and up.
The Following 825 Users Say Thank You to arter97 For This Useful Post: [ View ]
 
 
20th May 2015, 05:26 PM |#2  
arter97's Avatar
OP Recognized Developer
Flag Seoul
Thanks Meter: 27,819
 
Donate to Me
More
/* Technical information and Q&A */

Q: What took you so long?
A: @rovo89 has explained himself. http://forum.xda-developers.com/show...55&postcount=3

Q: Okay, you don't seem like a better developer than @rovo89. How did you do it?
A: Of course not. This is the main reason why deodex'ed ROM is a prerequisite.
Samsung has implemented all sorts of funny stuffs on their version of ART. See the link above.
To workaround this, converting a ROM to deodex'ed format somewhat brings back the oat formats to *AOSP-like* dex format(Huge thanks to @_riddle).
After deodexing is done, we can use source-built ART binaries with minimal modifications.
But due to my coding skills, I had to modify core-libart.jar to make it work again.
The core-libart.jar differs from every single device out there and it'll be a real headache to match with 1 ART binary version. That's why I've included the core-libart.jar on the installation zip file.
The included core-libart.jar has 2 different versions to correspond on the type of ROM user is using.
1 : Firmwares with appStartup
2 : Firmwares without appStartup
After deodexing, installing new ART stuffs, we can start the boot-up sequence.
Unfortunately again, /system/bin/installd passes some arguments that AOSP version of dex2oat do not understand. To bypass this, I've patched oat tools to ignore unimplemented arguments.
Now we can see the good old "Android is upgrading" pop-up and go have a cup of coffee while it dexopts all those hundreds of bloatwares.

Q: Fantastic, but now I get a continuous logcat burps - http://pastebin.com/MxeAE76n
A: To avoid that, that's why I've put 2 different versions of core-libart.jar. But unfortunately on those cases, my installer has failed to recognize which version your ROM uses.
During the installation, the installer will output a message on which core-libart.jar is installed on your system.
After you see that logcat stuffs, please change to the opposite version of core-libart.jar the installer told you.
So for example, if the installer says core-libart1.jar is installed, extract the zip and replace /system/framework/core-libart.jar with core-libart2.jar within the zip.

Q: How do I deodex my ROM?
A: @joeldroid and @svadev have an awesome tool for you to deodex your ROM.
Go check http://forum.xda-developers.com/andr...batch-t2980857 and http://forum.xda-developers.com/gala...oid-l-t2972025
Both worked flawlessly for me.

Q: Gimme tha sources!
A: https://github.com/arter97/android_a...msung-lollipop

Q: AAA and BBB modules are incompatible!
A: Most likely because they don't support Touchwiz Lollipop *yet*.

Q: You mother father gentleman, you bricked my phone!
A: Unfortunately, I had tested those only on 3 devices which, ironically, has the same processor. Maybe Exynos family is not support, I don't know.
I told you to back-up beforehand. Post log and we can probably work together and add your device/ROM supported.
The Following 217 Users Say Thank You to arter97 For This Useful Post: [ View ]
20th May 2015, 05:26 PM |#3  
arter97's Avatar
OP Recognized Developer
Flag Seoul
Thanks Meter: 27,819
 
Donate to Me
More
/* Changelog */

v75
Xposed v75 merged
(Fixes boot issue with latest Android 5.0 firmwares)
Method changed to use @wanam's XposedBridge

/* v75+ sticky note */

With v75 and up, this port do not longer touches core-libart.jar, thanks to @wanam.
This would potentially increase compatibility and fix other weirdness such as malfunctioning email app.
However, this introduces some variables.

First, there are more versions that you should choose.
Exynos and Snapdragon is quite self-explanatory, but there are now new "requestConcurrentGC" version for maximizing compatibility.

Don't know what to choose? Don't worry, it won't break your device if you install a wrong one.
If you install a wrong one, the installer will simply tell you that you should go with the other version.


As far as my testing goes, only the Korean Note 3 firmwares should install "requestConcurrentGC" version.

Uninstaller part have changed too.
You need to use uninstaller provided directly by @rovo89.
Do not use my uninstaller for v75 and up.


V6
Xposed v71 merged
Possible performance degradation issue fixed
Releases renamed to "exynos" and "snapdragon", now the "exynos" version is properly optimized for Exynos processor
Uninstaller added
Optimize everything enabled

V5
Xposed v65 merged - Now compatible with alpha4
Do not attempt to use uninstaller provided by rovo89, it will brick your device for now - TODO

V4
ART runtime & Xposed binary changes by rovo89 merged - Fixes logging and some other misc issues
CyanogenMod's ART runtime changes merged - Performance improvements
Compiled using Linaro GCC 4.8
Method in-lining optimizations made in Android 5.1 merged
Few Android M ART runtime changes which were early-adopted by Samsung merged
Few core-libart.jar smali durps fixed
-O3 and other compiler optimizations added
Release separated to "generic" and "krait" versions for more compiler optimizations
Generic - Devices with Exynos or other non-Krait Snapdragon SoCs; If you don't know which to choose, go with Generic.
Krait - Devices with Quadcore Krait Snapdragon SoCs.

V3
Another version of core-libart.jar added for GT-i9505 compatibility
(Firmwares without isMdfEnforced)
This update is unnecessary for devices which already runs Xposed with no issues.

V2
Source code modification attempted to hopefully fix boot issues with devices like Galaxy Alpha.
https://github.com/arter97/android_a...9b393c768777a9
This update is unnecessary for devices which already runs Xposed with no issues.
The Following 154 Users Say Thank You to arter97 For This Useful Post: [ View ]
20th May 2015, 05:26 PM |#4  
arter97's Avatar
OP Recognized Developer
Flag Seoul
Thanks Meter: 27,819
 
Donate to Me
More
/* Known issues */

- Galaxy Alpha users apparently get a bootloop with this.
A kind user provided a logcat, will look into it ASAP.

Solved with V2.

- GT-I9505 users apparently get a continuous Google Apps FCs with this.
Solved with V3.
The Following 97 Users Say Thank You to arter97 For This Useful Post: [ View ]
20th May 2015, 05:38 PM |#5  
SuperSmashedBro's Avatar
Senior Member
Flag New York City
Thanks Meter: 237
 
Donate to Me
More
Thank you!!!!! How do we go about reverting it just in case anything were to happen? Does this have the same issue as darkera13's guide where you can't install apps?
The Following 2 Users Say Thank You to SuperSmashedBro For This Useful Post: [ View ] Gift SuperSmashedBro Ad-Free
20th May 2015, 05:53 PM |#6  
JoeFCaputo113's Avatar
Senior Member
Flag New York
Thanks Meter: 2,830
 
Donate to Me
More
Sweet! Any chance of supporting the S6 in the future?!
The Following 2 Users Say Thank You to JoeFCaputo113 For This Useful Post: [ View ] Gift JoeFCaputo113 Ad-Free
20th May 2015, 05:55 PM |#7  
ktetreault14's Avatar
Senior Member
Flag Largo
Thanks Meter: 1,812
 
Donate to Me
More
Damn no support for s6 edge

---------- Post added at 05:55 PM ---------- Previous post was at 05:54 PM ----------

Looks great though. No decomiling involved
The Following User Says Thank You to ktetreault14 For This Useful Post: [ View ] Gift ktetreault14 Ad-Free
20th May 2015, 05:56 PM |#8  
Senior Member
Thanks Meter: 6,032
 
Donate to Me
More
Quote:
Originally Posted by SuperSmashedBro

Thank you!!!!! How do we go about reverting it just in case anything were to happen? Does this have the same issue as darkera13's guide where you can't install apps?

Exactly same .
The Following 5 Users Say Thank You to darkera13 For This Useful Post: [ View ] Gift darkera13 Ad-Free
20th May 2015, 06:05 PM |#9  
Senior Member
Thanks Meter: 32
 
More
Goood good
works fine on my galaxy s5 dous BOC2
xposed moudle and install apk normally works fine
20th May 2015, 06:06 PM |#10  
noobiedev83's Avatar
Senior Member
Thanks Meter: 48
 
More
Quote:
Originally Posted by darkera13

Exactly same .

Which one is the original method yours or arter's?
I'm confused😮
The Following User Says Thank You to noobiedev83 For This Useful Post: [ View ] Gift noobiedev83 Ad-Free
20th May 2015, 06:06 PM |#11  
kornelius1982's Avatar
Senior Member
Flag Tbilisi
Thanks Meter: 348
 
More
AMAZING!!!!!
arter you're genius!
The Following User Says Thank You to kornelius1982 For This Useful Post: [ View ] Gift kornelius1982 Ad-Free
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes