[OFFICIAL] Xposed for Lollipop/Marshmallow/Nougat/Oreo [v90-beta3, 2018/01/29] - Xposed General

Note: This thread is here mostly for historical purposes. While Xposed is supported in various forms [EdXposed and LSPosed], developent on the Xposed primary app has completed. Xposed framework compatible modules are still in active development and supported by their respective developers.
Click to expand...
Click to collapse
This is the announcement thread for Xposed for Lollipop, Marshmallow, Nougat and Oreo. I'll post all relevant news here, so subscribe to it if you'd like to stay informed.
You can find a list with Q&A about Lollipop support on the XDA Portal. Please read it, you will find many answers there. Also see this article with much background information on new stuff for Nougat.
Please install it only if you're willing to take the risk of boot loops. Just because it's working fine and stable for me doesn't mean it will work for everyone the same way.
Downloads:
XposedInstaller_*.apk from this thread: Must be installed to manage installed modules, the framework won't work without it.
xposed*.zip from https://dl-xda.xposed.info/framework/: Must be flashed with a custom recovery (e.g. TWRP) to install the framework.
SDK21 is Android 5.0 (Lollipop), SDK22 is Android 5.1 (also Lollipop) and SDK23 is Android 6.0 (Marshmallow).
For Nougat, SDK24 is Android 7.0 and SDK25 is Android 7.1.
For Oreo, SDK26 is Android 8.0 and SDK27 is Android 8.1.
I only support the latest Xposed version per Android release!
xposed-uninstaller*.zip from https://dl-xda.xposed.info/framework/: Can be flashed with a custom recovery (e.g. TWRP) to uninstall the framework.
The small .asc files are GPG signatures of the .zip files. You can verify them against this key (fingerprint: 0DC8 2B3E B1C4 6D48 33B4 C434 E82F 0871 7235 F333). That's actually the master key, the files are signed with subkey 852109AA.
Known issues:
- Before Nougat: Bootloops on Samsung stock ROMs. That's due to Samsung's changes to ART. There are unofficial builds that work around this by deodexing and adjusting the ROM.
- Sony seems to have shipped some ROMs with corrupted services.odex (the embedded .dex is invalid). Those ROMs will bootloop with a "Fatal signal 6" or "No pending exception expected: java.lang.ArrayIndexOutOfBoundsException" error, which I unfortunately cannot fix (see https://github.com/rovo89/Xposed/issues/64)
- Dell ships (at least) their Venue 8 7840 with a non-standard version of ART that is somewhere between 5.1 and 6.0 which obviously isn't supported by Xposed (see https://github.com/rovo89/Xposed/issues/77)
For discussions, please use the discussion threads (Lollipop / Marshmallow / Nougat / Oreo) or another matching one in this subforum.

As you have probably noticed, more than 2,000 posts have been made in the original thread about Xposed on Lollipop. I'm really overhelmed by all your feedback! Also many thanks to those people who have donated already, it's great to see how much Xposed means to you.
Although so much discussion and helping each other is great, it's hard for anyone (including me) to follow. Hence, I have decided to create this thread were only I (and possibly the XDA moderators) will give some updates. This will make it easier for me to inform you about the current status, bugs I know about and so on. Feel free to subscribe to it or simply check from time to time. I'm not sure yet about the best way for me to get a consolidated overview of existing issues that have been confirmed by several people and ideally already have a sufficient information (like logcats, clear description of the error, ...) attached, but I hope we can work something out.

Current status (Feb 19):
The most important issue seems to be the incompatibility with Samsung stock ROMs, especially because it's leading to boot loops. I have been working hard on fixing this in the days since the release, however it's not just a single spot that needs fixing. Thanks to GermainZ for testing and providing good log files! So far, I have detected the following issues:
- Enhanced .oat file format: Samsung has added a "TypeLookupTable", probably for performance reasons. The table itself will be ignored by Xposed, but it also means that the file format is slightly different. I have finally understood what they have done and added some logic to skip the referenes to this table.
- Different size of the String class: They have added a clear() method, which is unusual as strings are usually immutable. As this class is one of few that have special support in native code, I had to add one entry to the virtual table of the class.
- Additional fields in DexCache class: Offsets to some fields are different due to this and need to be handled in native code (as this another central class with native parts directly implemented in ART).
- Verifier rejects ViewDebug class: Doesn't seem to be overly critical to me, yet to be tested whether it's working fine with original libraries.
- Implementation missing for some native methods: Some methods in the reflection classes have been implemented in native code instead of Java. This means I will have to implement them as well.
The changes done by Samsung are bigger than I expected, especially given that ART is very complex and mostly undocumented. Anyway, I still think that once these issues have been overcome, it's better to replace the libaries than trying to manipulate data structures and behavior from "outside" (app_process). Think about it: If they have done such big changes, it's very likely that offsets in these data structures are different from AOSP and would need special handling as well.
It would of course be helpful to have an uninstaller ZIP in case you run into a bootloop. I didn't have time for that yet, but maybe someone can build an initial version that basically reverses the steps of the installer ZIP. For the ART libraries, that should be rather easy. You might want to stay away from moving app_process32 back in case you have SuperSU installed. It will need a special procedure to ensure you don't break either part or even your ROM.
There are other issues for sure, for example it seems that some methods cannot be hooked. That's something that needs more investigation, but I would like to fix the more critical issue like the ones for Samsung first.
That said, I won't be able to work on Xposed for the next days, definitely not before Monday. Keep in mind that this isn't my fulltime job and that an alpha phase might take some time. It would be illusionary to assume that we reach a stable state after a few days, with all the changes that have been done.

I have just uploaded alpha2. It fixes several issues:
java.io.IOException: Invalid argument while reading /data/data/de.robv.android.xposed.installer/conf/modules.list (sometimes it worked fine after a soft reboot), see https://github.com/rovo89/Xposed/issues/25
ClassNotFoundException for system services (e.g. ActivityManagerService) shown in the log, see https://github.com/rovo89/XposedBridge/commit/6b49688c929a7768f3113b4c65b429c7a7032afa
Resources-related incompatiblity on newer CM12-based ROMs
Hooks for very simple methods not working, see https://github.com/rovo89/android_art/issues/4
app_process version not displayed in XposedInstaller
When you flash the new files, the next boot might take a bit longer, as it effectively clears the Dalvik cache (which is necessary because of a change in the ART compiler).
Note that this version is still not compatible with Samsung ROMs (custom ROMs might work if they're not based on stock ROMs). Don't install it, otherwise you'll get into a bootloop and need to restore your backup!
I have already done a lot of investigations and adjustments, as also mentioned in the previous post. However, there are still differences that need to be addressed and it will take more time to resolve them. I can't give any ETA on that.

Ok, quick status update.
Sure, I have heard that Android 5.1 is out. However, it currently makes more sense for me to stablize Xposed for Android 5.0, as I have two productive devices plus the Genymotion emulator running on it. Hopefully, it can then be ported to Android 5.1, but that's hard to tell without having had a look at it.
It's generally hard to estimate any timelines for Xposed-related stuff, for mainly two reasons:
a) Working on Xposed is mainly analysis of AOSP code, traces, closed-source files, followed by some development and testing (often trial and error). I never now which other obstacles are still undiscovered, so the effort is unclear beforehand.
b) Even if I know the effort (= net time), I can't say when I will have the time to actually work on it. For example, this week I probably won't spend a single hour on development. Sorry, but I'm not going to sacrifice my private life for Xposed and I can't spend several hours per evening for this project (anymore).
One of the next steps will be the creation of some scripts that help me to compile and package Xposed. Apart from simplification for me, I hope that this might help other experienced developers to try and contribute themselves (e.g by analysing the issues they noticed themselves).
So much for now, keep enjoying the stuff that is already working and please refrain from asking me when Xposed for 5.1 will be stable... I simply don't know that myself.

rovo89 said:
One of the next steps will be the creation of some scripts that help me to compile and package Xposed. Apart from simplification for me, I hope that this might help other experienced developers to try and contribute themselves (e.g by analysing the issues they noticed themselves).
Click to expand...
Click to collapse
It took longer than expected, but I also think it's better than what I had planned originally:
https://github.com/rovo89/XposedTools
I hope this makes it easier for others to compile the native parts of Xposed and the modified ART runtime themselves and get involved, just like @romracer did. It also makes it easier for me to build and package the Xposed framework, as it was quite a hassle to make sure that all files are compiled correctly, pushed to my PC etc.

I have just uploaded a new flashable ZIP for Xposed 3.0 alpha3 (xposed-sdk21-arm-20150426.zip).
You only need to flash the ZIP again, the Xposed Installer app remains the same (and therefore still shows version alpha2). If XposedBridge.jar has version 64 after a reboot, the new version is active.
Changes:
- Fixed issues with replacing drawables
- Fixed NoSuchMethodError in handleInitPackageResources
- Possibly fixed some errors on ROMs that start in permissive SELinux mode and switch to enforcing mode later

As the question probably comes up:
- No, this version doesn't support Android 5.1 yet.
- No, this ZIP doesn't support arm64/x86 processors yet.
I will eventually support them as well, but as there are unofficial versions for these, I try to work on a few known issues for Android 5.0 before (when I find time for it).
Regarding Samsung ROMs: No progress. No ETA. No promise that it will be supported, although I don't exclude it either. It's simply unclear what further differences between their and AOSP's ART variant come up.

alpha4 (20150430) is now available. It fixes bootloops and crashes on some ROMs, especially on Sony devices. In the logs, there used to be "Too many open files" errors.
References for this bug:
https://github.com/rovo89/Xposed/issues/31
http://forum.xda-developers.com/crossdevice-dev/sony/workaround-bootloops-xposed-lollipop-t3089203
http://forum.xda-developers.com/z3/general/xposed-bootloops-lollipop-t3085627

I have just upload files for a big update. It includes many general improvements/changes and some smaller fixes.
One of the changes is that I decided to avoid confusion about all the different (yet similar) version numbers for installer, framework zip, app_process and XposedBridge by reducing it to two version numbers:
The framework (i.e. all the files in the flashable) zip is versioned with integers (65 for this release). This is at the same time the Xposed API version. Unofficial builds should use suffixes to label their releases.
The Xposed Installer app will continue to use the well-known, human-readable version numbers, e.g. 3.0 alpha3 for this release.
The next bigger change is the installation script in the flashable ZIP. I use a modified fork of BusyBox now to keep the scripts clean and work with a well-known environment. This should make it pretty reliable, even in case some weird recoveries forget to include the "unzip" command. Those who are interested in the technical details should check out the GitHub project.
While I was working at it, I finally built flashable uninstallation ZIPs as well. They revert all actions done by the installation script, provided you didn't delete the backups (<filename.orig>). These ZIPs are only tested with Android 5.0.
The other changes are:
- Installer: Display the installed framework version in green, instead of a static hint about flashing the framework via recovery.
- Fix for incomplete logs on some devices, see https://github.com/rovo89/Xposed/issues/34
- Fix for updated modules crashing until the next reboot, see https://github.com/rovo89/Xposed/issues/22
- Ignore unknown parameters to avoid bootloops on some devices, see https://github.com/rovo89/android_art/issues/7
- Some other internal improvements
- Some cherry-picked ART commits from AOSP
- Devs: Allow hooking native methods, see https://github.com/rovo89/Xposed/issues/28
- Devs: Several debugger fixes, see https://github.com/rovo89/android_art/issues/1
I'm also uploading builds for arm64 and x86 devices. I have tested them on my Nexus 9 and on the Genymotion emulator and didn't notice any issues. The unofficial builds don't seem to be modified from my source code either and I didn't get pull requests on GitHub for these platforms, so I assume that they work fine.
By the way, in case you're a dev (or just interested) and want to try out your modules on Genymotion, you can use this collection of scripts to faciliate the Xposed framework installation on Genymotion. Just follow the instructions, then you can simply drop the x86 framework installation ZIP on the emulator window to install the framework. Don't forget to reboot afterwards.
So much for now. Be assured that official Android 5.1 support will come sooner or later, but the changes above required quite some debugging, development and strategic thinking. It's nice to see that some unofficial ports fill the gap for those who don't want to wait.
About M: The AOSP tag for the preview seems to be just a placeholder, just like it was for the L preview. I haven't tried, but I doubt that compiling ART from this tag will fit to the M preview image. Hence, I won't be investing any of the time (that I don't have anyway) to try and get Xposed running on the preview image.

Those who had issues with installer version 3.0 alpha3 displaying the framework as not installed, please try 3.0 alpha4. ProGuard optimized a bit too much in one very specific case... unfortunately, this never appeared during development, just in the release build.
If modules aren't loaded after a reboot because modules.list wasn't found, try to disable/enable any module. This will write the file again.
One addition to the changes in framework v65: The ZIP files are now signed. This wasn't possible before integrating the custom BusyBox version as some recoveries failed to unzip the signed ZIP.

I have just uploaded ZIPs for Xposed framework version 66 and also replaced the uninstaller ZIPs. There are no changes in the framework itself, so if you installed version 65 successfully, there's no need to update. If you got messages containing "Invalid argument" or "Wrong SDK version: 19, expected 21" while flashing the ZIP files, this should fix them. Thanks to @romracer for the fix!
EDIT: Had to reupload. If you downloaded the ZIPs within the first 15 minutes after this post was published, please download them again.

New files for framework version 67 are now available. They fix an issue with recoveries that have SELinux disabled (even though they might claim that "Full SELinux support is present" in the log, like TWRP does). This seems to have happened mainly on LG devices and caused boot loops, but could affect others as well. Details about the fix are in this commit: https://github.com/rovo89/XposedTools/commit/c55ac907e16947d66012950d119d8db1aea69124
The uninstaller has also been updated, although it's unlikely that it would have caused real issues.

framework version 68 fixes two reported crashes:
"Fatal signal 11" reported for dex2oat or "Compiler driver" in the Xposed log. I have seen a few posts about such issues, but the one I tested the fix with was about Quickoffice. If you notice further issues like this, please report them on GitHub with the full logcat (as only that contains the command line that crashes).
"com.android.phone has stopped" on LG G3. Don't confuse this with support for encrypted apps (LGWeather, LGCover), this can't be fixed unless someone comes up with a decrypter, ideally one that can be executed on the device.

rovo89 said:
Don't confuse this with support for encrypted apps (LGWeather, LGCover), this can't be fixed unless someone comes up with a decrypter, ideally one that can be executed on the device.
Click to expand...
Click to collapse
I had another look at their encryption, or rather the library they use for it. Fortunately, all the decryption logic is in that library (liblgalmond.so), not in ART itself. So I did a lot of digging into their libraries and finally figured out how to call the relevant functions to detect and decrypt their encrypted apps on the fly. That's the requirement to recompile and run these apps.
So here it is, framework version 69 with support for LG's encrypted apps (LGCover, LGWeather, maybe more). Please make sure to clean your Dalvik cache after flashing the ZIP if you have an LG device and had issues with these apps.

It turned out that some LG devices (at least G2 mini and G Pad 8.3) are using encrypted precompiled (odex) apps. These need to be handled differently than apps which contain just the encrypted dex file. With framework version 70, Xposed supports both encrypted dex and odex files. Again, clearing the Dalvik cache might be necessary. If you don't have an LG device or don't get FCs, you can skip this update.

In framework version 71, I have fixed a boot loop on various devices/ROMs related to the "SettingsProvider". If you were getting boot loops with earlier versions, you might want to give this a try.
Apart from that, it should now work properly with Sygic (after reinstalling the app or wiping the Dalvik cache). Note that some modules might not work properly with this app, as they "hack" Android's resource processing (e.g. for images/texts) on a low level. As this conflicts with Xposed (which does a similar thing), I had to disable parts of the API for this app.

I finally created an official version for Android 5.1 (aka SDK22). You can download it as v72 from the first post.
This version is not directly based on @romracer's port, however there aren't many differences. He had merged AOSP 5.1 into the Xposed codebase, I did it the other way around and used this opportunity to reorder and combine the commits. So it's a little bit cleaned up now, which will hopefully make it easier to port these changes to future Android versions. I have also cherry-picked two of his changes that weren't in the offical version yet: A fix for a special case in resource handling on 64-bit and compression of the backup Xposed creates during its installation. Many thanks to @romracer for providing the unofficial version - this gave me the chance to fix and improve many things (which were in turn merged by him and others).
That said, there are also a few new changes:
- In error messages, the Android version is now display as well, e.g. "Wrong Android version: 5.1 / SDK22 ... This file is for: 5.0 / SDK21"
- The files for Android 5.1 can now handle gzip-compressed odex files (*.odex.gz). Those files only exist on certain ROMs (e.g. CM) that merged a few commits proposed by Intel. These commits weren't accepted into AOSP because the way they're handling the compressed files has some flaws. With Xposed installed, these files will be unpacked on-the-fly and recompiled.
The gzip support might also be interesting for ROMs where the /system partition is almost full. It should be possible to gzip some of the .odex files before installing Xposed in order to free up some space. This should work on any odexed 5.1 ROM, even if the Intel commits aren't included. However, this would be very experimental. Volunteers are welcome, but don't forget to create a backup.
Finally, I have updated the uninstaller zips. They include a timestamp now, as new installer zips might require new uninstaller versions. You should always be able to uninstall older versions with the latest uninstaller though. v72 requires at least the uninstaller from today (20150831).

With framework version 73, a bug on 64-bit ROMs is fixed which prevented modules from reading their preferences. I believe that the root cause is a bug in AOSP, but whatever - it should be fixed now. Thanks to @romracer and @cryptyk for the fix.
I have additionally merged a few changes from CyanogenMod. Most of them control when the Dalvik cache is cleared automatically after a bootloop (new feature in 5.1 AOSP, now improved) and one is supposed to increase the compile performance on some ROMs. Don't expect too much though.

In framework version 74, I have fixed some more incompatibilities which could lead to bootloops or crashes. I assume that most of these crash logs contained the string "Incompatible set properties", which is actually a consequence of previous method verification errors. It's hard to say which ROMs and devices were affected - but flashing the new version shouldn't hurt even if everything looks fine with older versions. If you do notice any issues and are sure that it's not caused by yourself, you have higher chances of getting them fixed if you open a detailed GitHub issue (usually I will need at least a full logcat).
I won't be able to work on Xposed for the next 2-3 weeks - no time for development, support or questions at all. If the rumors I have read are right, I should be ready just in time to start porting Xposed to M.

Related

Xposed FAQ / Known issues

Where can I find general information on Xposed, e.g. how to install it?
In this thread.
Does this require root access?
Yes, because it replaces a file in /system/bin. Once the framework is installed, it should work without root access.
For which devices/ROMs does it work?
I develop the Xposed framework based on the AOSP sources. I'm personally using CM10.2 on an I9100 (Samsung Galaxy S2, bought in Germany). Basically, it should work on any phone which with a ROM based on Android 4.0 or later and an ARM or x86 processor (this is the processor architecture, almost all smart phones and tablets have either of those). Exceptions might be ROMs which are different from the original Android code in some very internal, central code parts (which don't need to be touched for most theming and enhancement modifications). But this is related to the ROM, not the phone itself.
The modules target higher-level code, so they are more likely to be incompatible with your ROM. Basically, the question is whether the methods and resources which the module modifies are similar on your ROM and on the developer's ROM. Let's say a module needs to modify the result of a certain method call. For this, it needs to specify the exact name and parameters that identify that method. If the in your ROM, an additional parameter has been added, the module can't find the method anymore and won't work. If the method can still be found, it will probably work (unless the rest of the app/ROM has changed too much).
There is not definite answer whether it will work. Just try it (of course, making a nandroid backup before is never a bad idea). If it doesn't work, just disable the module. You might want to inform the module developer (not me!) about this fact and provide details (e.g. a logcat and/or the content of /data/data/de.robv.android.xposed.installer/log/debug.log).
What about Gingerbread? Or any other Android version before 4.0.3?
An experimental version for Gingerbread made by liudongmiao can be found here: http://forum.xda-developers.com/xposed/-t2739034.
Note that I cannot give any support for it, please direct your feedback to @liudongmiao.
Are there known incompatibilities?
There seem to be issues with AOKP nightlies. For more details, please read this post.
There seem to be issues (bootloops) with the Oppo Framework, I don't have a fix yet.
On some HTC One phones with CM11, the System UI force crashes. This seems to be caused by SELinux restrictions. Executing "restorecon /system/bin/app_process" (as root, e.g. with adb shell) should help against the FCs, but Xposed might not work due to other SELinux restrictions. If you have the possibility to disable SELinux enforcing mode, you can try that.
If you are an SELinux expert and would like to help, please contact me.
Apart from that, obviously it won't work if the conditions mention above aren't met, e.g. if your phone isn't rooted or it is running on a pre-ICS ROM.
How can I install it?
See the first post. The framework installation needs to be done only once (and on updates), then it can be used for any modules.
Does Xposed get disabled if I flash a new ROM?
Yes, because the file it modifies, /system/bin/app_process, is part of every ROM and will be overwritten when you flash a ROM. However, as long as you don't wipe data, the Xposed Installer app will still be installed, so you can just click on "install/update" again in the Framework section and reboot.
For CyanogenMod-based ROMs, there is an easy solution: [1] and [2]. This will reactivate Xposed automatically after you flash a new ROM/nightly.
For other ROMs, you can try this one. Be careful, it will disable Xposed again if you flash it twice!
Isn't this insecure?
In a way, yes. With great power comes great risk. On the other hand, other ways of modifying your phone are also open to malicious coding. For more details see this post.
Why do I have to enable a module after installing it? Couldn't you skip this additional step?
This is for security reasons (see the question above). By making you confirm that you want to use a module, apps cannot contain hidden Xposed modules. The same could be done with an additional permission, but I'm not sure if everyone would recognize that and it is harder to implement. As a bonus, this toggle allows you to temporarily disable a modification or to ship an app that contains an optional Xposed module.
How do I develop my own modification using the Xposed framework?
First make sure that Xposed is working fine for you. Then read this extensive tutorial.
Why isn't the Xposed Installer available via Play Store?
I have several reasons for that. I wrote about it in this post. And as I learned, Google does indeed sometimes remove apps which interfere with other apps.
From my point of view, you are free to publish the modules you develop on Play Store (at your own risk - Google might remove them). However, be careful if you plan to get money from them. Paid apps are stored in encrypted containers, which means Xposed can't load them at boot time.
Where can I donate some money to support you?
http://repo.xposed.info/donate
Am I allowed to fork Xposed and publish my own version? What should I consider?
I have written this down in a separate post: http://forum.xda-developers.com/showpost.php?p=46325320&postcount=4372
Can I include Xposed in my ROM?
First of all: One reason why I developed Xposed was to avoid the need to flash anything just for a few small changes. So Xposed is designed to work on top of ROMs, not as a part of them.
That said, I don't forbid you to include it. Here are the conditions:
I won't support you in the process of including it. You'll have to figure out the best way to do it yourself. The easiest way (which will also cause the least problems) is probably to simply put the installer and the modules into /system/app, then your users just need to click the "install/update" button, activate the modules they want and reboot.
There might be ways to really pre-install Xposed so that it's working out of the box, but I don't recommend that. You have to be very careful about file permissions, so there is a good chance it won't work. Again, absolutely no support for this.
I won't support your users with problems which might have been caused by using the included version instead of installing it normally.
When your users report problems which are probably not related to including Xposed in the ROM, please try to give them some support yourself. If you can't find a solution, send them to the correct help thread. For example, this thread is only for the framework. Not for any modules, not even my own.
I expect you to include the latest versions, which are usually the ones working best. I won't support older versions.
Your users must be able to update to the latest version, preferably without installing a new version of your ROM. Again, I won't support older versions.
From the previous point, it follows that you need to include the original APKs, otherwise updating is not possible due to a certificate mismatch. This is even more important since updates are possible from within the app. It also avoids confusion, like users wanting support for any modifications you might have made.
You probably want to include some modules. There are many modules that are not written by myself. Therefore, you need to get permission from the module authors as well. For modules written by myself, the same conditions which you are just reading apply.
Please give proper credit (which includes a link to this thread for the framework). Don't sell it as your own work.
You might have the impression now that I'm not a big fan of including Xposed in a ROM. This impression is correct. It's not too hard to install Xposed and any attempts to pre-install Xposed will just cause additonal support requests.
Why don't you just recommend Xposed in your ROM thread, along with the place where they can download it (this thread) and some instructions how to get the most out of it for your ROM? Give your users some choice!
The following posts list known, confirmed issues of the Xposed framework/installer. The intention is to give more information about the symptoms, the background and possible solutions/workarounds.
I won't add every reported issue here, but only when it's clear (e.g. through analyzed logs) that the problem is indeed an incompatibility with Xposed. It doesn't include module issues and the inability to read and follow instructions.
In case you have found a solution/workaround for one of the issues, please let me know.
ART / Android L / Android Lollipop / Android 5.0
Symptom:
You want to use Xposed and ART. However, as soon as you install Xposed, the runtime is reverted back to Dalvik.
Or you want to install Xposed on Android L, but it displays a message that it's not compatible.
Background:
There is no Xposed support for ART (yet), therefore Xposed automatically reverts the runtime to Dalvik. You can be glad that I implemented this, otherwise you would end up in a bootloop. It's a completely different architecture with pretty much no documentation. Rewriting Xposed for the ART runtime requires understanding the concept, the code structure and many details to know how it works. I have already spent dozens of hours on that and some things are working. But still it's a long way ahead. Don't expect even a test version in the near future. So please don't ask when it will be available - you will surely know when it is ready. I have nothing else to say about that.
Update: ART might be become the default runtime environment in the next Android version. You can read my thoughts about this here.
Update 2: The Android L developer preview is out. Don't try to install Xposed on this ROM! Check here for some explanations and status: http://forum.xda-developers.com/xposed/android-l-support-t2797923
Update 3: An alpha version for Lollipop is available now: http://forum.xda-developers.com/xposed/official-xposed-lollipop-t3030118
Square Enix games (e.g. Final Fantasy) / Puzzles & Dragons
Symptom:
If you have activated Xposed and any module, some Square Enix games (e.g. Final Fantasy) and Puzzles & Dragons don't start anymore.
Background:
I have spent several hours analyzing this issue. Here are my findings: http://forum.xda-developers.com/showpost.php?p=42331031&postcount=1701
Solution:
I don't think I will be able to fix this. Some users reported that it's working after converting Xposed and modules to system apps (but I didn't test it and you have to do this after every update).
Otherwise, you could press the "uninstall" button in the Xposed Installer, reboot, play the game, afterwards press the "install/update" button and reboot again.
Aliyun OS
Symptom:
You experience bootloops after installing Xposed and you find files like /system/framework/core.jex. Typical devices where this happens are THL T100S (with a MediaTek MT6592 processor), THL W200S, CUBOT X6, several ones from Zopo, ...
Background:
These devices ship with ROMs that are based on an incompatible Android fork called "Aliyun OS". These ROMs have a proprietary ahead-of-time compiler called "jazz, which is incompatible with Xposed.
Solution:
No chance of fixing this within Xposed. It was reported that deodexing the ROM and then deleting the /system/framework/*.jex files helps, however you won't get any support for this in the Xposed subforum.
Another possibility might be to disable the JIT compiler by adding "dalvik.vm.execution-mode=int:fast" to /system/build.prop or /data/local.prop (might have an impact on performance). See https://github.com/rovo89/Xposed/issues/14 for details.
MIUI/Dexspy
Symptom:
You experience bootloops after installing Xposed on MIUI. There are references to "Dexspy" in /system/bin/app_process and /system/framework/*.
Background:
There are modified versions of Xposed that have been integrated into some MIUI ROMs. I don't know the details, I don't know if that's still the case for current ROMs, and I don't have the time to follow up on this.
Solution:
Sorry, but I can't support you with this. MIUI is closed-source and in some parts heavily modified from AOSP. I don't have the time to keep track of their changes, and due to some bad handling from their side in the past (forking Xposed without any credit, removing all references to the original project and myself), I'm not very motivated to do so. If you're lucky, Xposed might work on your MIUI ROM. If it doesn't, you'll have to find someone else to look into it. If someone creates a clean patch that doesn't break Xposed on other ROMs, we can talk about including it, but otherwise you'll have to decide between MIUI and Xposed.
Segmentation fault
Symptom:
During the framework installation, you get messages that contain "Segmentation fault". This usually happens on ICS ROMs.
Background:
For some reason, the BusyBox binary that comes with Xposed doesn't work with your ROM.
Solution:
Install the attached app, it contains BusyBox binaries which are compiled with different settings, with all dependencies included in the file. Due to this, the incompatibilities should be gone. These files aren't included by default because they are much larger and not needed by most users.
Resources subclass
Symptom:
You can install Xposed 2.6+ and your phone is still booting afterwards. The version numbers are shown in green in the framework section. However, no modules are working. In the Xposed error log, you find a message like:
Code:
java.lang.ClassCastException: class android.content.res.XResources doesn't extend class x.y.z
You might have a ROM from Huawei, Nubia, ...
Background:
These ROMs use a similar approach as Xposed to theme resources. They create a subclass of Resources which takes care of special handling and return an instances of it from getTopLevelResources(). If Xposed replaced this class with its own XResources implementation, then it would a) break the ROM's additional functionality and b) probably cause crashes if the ROM tries to use this functionality.
Solution:
As a workaround, you can simply disable the resources API in the Xposed Installer settings. Some modules won't work anymore, but most should still work.
Mid-term, I hope that I can build a solution that works with such ROMs as well, however it will take some time.
Huge log file
Symptom:
Your disk space is getting low and you find out that much of it is taken up by Xposed Installer (sometimes several 100 MB). You think that this is a bug in Xposed.
Background:
It's most likely not a bug in the Xposed framework, but a bug or incompatibility of a module. One reason might be the removal of a hack in Xposed 2.6. That hack had a side-effect that some modules relied upon. The might also be other issues, for example the module might simple not be made for your ROM.
In any case, such modules might run into errors frequently and log each of them, causing the huge log files.
Solution:
First, find out which module is causing this. You can check the log file in the Xposed Installer. Somewhere near the top of the exception call stacks (beginning with "at ..."), you can usually find the package name of the module that caused it.
Next, make sure that the module is updated. To be on the safe side, you should update all modules. Then you can clear the log file and reboot.
If there are still issues, please go to the support thread of the module. Check if your ROM is supported and whether somebody else has already reported the issues. If not, post your error.log there and ask the developer to have a look at it.

[2016.10.10] suhide v0.55 [CLOSED]

THIS IS CURRENTLY NOT WORKING
A newer version is available here: https://forum.xda-developers.com/apps/supersu/suhide-lite-t3653855
suhide is an experimental (and officially unsupported) mod for SuperSU that can selectively hide root (the su binary and package name) from other applications.
Pros
- Hides root on a per-app base, no need to globally disable root
- Doesn't need Xposed
- Even supports SuperSU's ancient app compatibility mode (BINDSYSTEMXBIN)
- Passes SafetyNet attestation by default on stock ROMs (last officially tested on 2016.10.07)
Cons
- Ultimately a losing game (see the next few posts)
- No GUI (at the moment) - Unofficial GUI by loserskater
Requirements
- SuperSU v2.78 SR1 or newer (link)
- SuperSU installed in systemless mode
- Android 6.0 or newer
- TWRP (3.0.2 or newer, with access to /data - link!) or FlashFire (link)
Xposed
Xposed is not currently officially supported, but if you want to use it directly, you must be using @topjohnwu 's systemless xposed v86.2 exactly (attached at the bottom). It seems to mostly work during my non-extensive testing, but there are still some performance issues (both boot-time and run-time). Proceed with caution, expect bootloop.
Alternatively, there are some reports that the latest Magisk version + the latest systemless xposed (for Magisk) also works. I have not personally tested this.
CyanogenMod
I've personally tested with CM13 on i9300 without issue, however, several users are reporting it doesn't work for them. Proceed with caution, expect bootloop. Also, aside from just flashing SuperSU, you need to make sure /system/bin/su and /system/xbin/su are removed, or CM's internal root will still be used.
Usage
Install/Upgrade
- Make sure you have the latest SuperSU version flashed in systemless mode
- Make sure you are using the latest TWRP or FlashFire version
- Remove any and all Xposed versions
- If you have been having issues, flash suhide-rm-vX.YY.zip first, and note that your blacklist has been lost.
- Flash the attached suhide-vX.YY.zip
- If you are upgrading from suhide v0.16 or older, reflash SuperSU ZIP, and note that your blacklist has been lost.
- Optionally, flash the Xposed version linked above, and pray
At first install SafetyNet is automatically blacklisted.
If you have just flashed a ROM, it is advised to let it fully boot at least once before installing suhide.
Uninstall
- Flash the attached suhide-rm-vX.YY.zip. The version may appear older, the uninstall script doesn't change very often.
Blacklisting an app
You need the UID (10000 to 99999, usually 10xxx) of the app, which can be tricky to find, or the process name. There may be a GUI for this at some point.
(Note that all commands below need to be executed from a root shell)
If you know the package name, ls -nld /data/data/packagename will show the UID - usually the 3rd column.
Similarly, for running apps, ps -n | grep packagename will also show the UID - usually the 1st column.
Note that the process name is often the same as the package name, but this is not always the case. UID is more reliable for identifying a specific app, and it is also faster than blocking based on process names.
When you know the UID or process name:
Add to blacklist: /su/suhide/add UID or /su/suhide/add processname
Remove from blacklist: /su/suhide/rm UID or /su/suhide/rm processname
List blacklist: /su/suhide/list
All running processes for that UID or process name need to be killed/restarted for su binary hiding. For SuperSU GUI hiding, the device needs to be restarted. I recommend just (soft-)rebooting your device after making any changes.
Please keep in mind that many apps store their rooted state, so you may need to clear their data (and then reboot).
Integration into SuperSU
This mod isn't stable, and probably will never be (see the next few posts). As SuperSU does aim to be stable, I don't think they're a good match. But who knows, it all depends on how things progress on the detection side.
Detections
This mod hides the su binary pretty well, and does a basic job of hiding the SuperSU GUI. The hiding is never perfect, and suhide itself is not undetectable either. This will never be a perfectly working solution.
Debugging bootloops
- Get your device in a booting state
- Make sure you have TWRP or a similar recovery
- Install LiveBoot (link)
- If you are not a LiveBoot Pro user, enable the Freeload option
- Enable the Save logs option
- Recreate the bootloop
- In TWRP, get /cache/liveboot.log , and ZIP+attach it to a post here.
Download
Attached below.
Any rm version should work to uninstall any suhide version.
There may be multiple versions of suhide attached, please look carefully which one you are downloading!
YOU ARE EXPLICITLY NOT ALLOWED TO REDISTRIBUTE THESE FILES
(pre-v0.51: 17410 downloads)
Hiding root: a losing game - rant du jour
Most apps that detect root fall into the payment, banking/investing, corporate security, or (anit cheating) gaming category.
While a lot of apps have their custom root detection routines, with the introduction of SafetyNet the situation for power users has become worse, as developers of those apps can now use a single API to check if the device is not obviously compromised.
SafetyNet is of course developed by Google, which means they can do some tricks that others may not be able to easily do, as they have better platform access and control. In its current incarnation, ultimately the detection routines still run as an unprivileged user and do not yet use information from expected-to-be-secure components such as the bootloader or TPM. In other words, even though they have slightly more access than a 3rd party app, they still have less access than a root app does.
Following from this is that as long as there is someone who is willing to put in the time and effort - and this can become very complex and time consuming very quickly - and SafetyNet keeps their detection routines in the same class, there will in theory always be a way to beat these detections.
While reading that may initially make some of you rejoice, this is in truth a bad thing. As an Android security engineer in Google's employ has stated, they need to "make sure that Android Pay is running on a device that has a well documented set of API’s and a well understood security model".
The problem is that with a rooted device, it is ultimately not possible to guarantee said security model with the current class of SafetyNet tamper detection routines. The cat and mouse game currently being played out - SafetyNet detecting root, someone bypassing it, SafetyNet detecting it again, repeat - only serves to emphasize this point. The more we push this, the more obvious this becomes to all players involved, and the quicker SafetyNet (and similar solutions) will grow beyond their current limitations.
Ultimately, information will be provided and verified by bootloaders/TrustZone/SecureBoot/TIMA/TEE/TPM etc. (Samsung is already doing this with their KNOX/TIMA solutions). Parts of the device we cannot easily reach or patch, and thus there will come a time when these detection bypasses may no longer viable. This will happen regardless of our efforts, as you can be sure malware authors are working on this as well. What we power-users do may well influence the time-frame, however. If a bypass attains critical mass, it will be patched quickly.
More security requires more locking down. Ultimately these security features are about money - unbelievably large amounts of money. This while our precious unlocked bootloaders and root solutions are more of a developer and enthusiast thing. While we're all generally fond of shaking our fists at the likes of Google, Samsung, HTC, etc, it should be noted that there are people in all these companies actively lobbying to keep unlocked/unlockable devices available for us to play with, with the only limitation being that some financial/corporate stuff may not work if we play too hard.
It would be much easier (and safer from their perspective) for all these parties to simply plug that hole and fully lock down the platform (beyond 3rd party apps using only the normal APIs). Bypassing root checks en masse is nothing less than poking the bear.
Nevertheless, users want to hide their roots (so do malware authors...) and at least this implementation of suhide is a simple one. I still think it's a bad idea to do it. Then again, I think it's a bad idea to do anything financial related on Android smartphone that isn't completely clean, but that's just me.
Note that I have intentionally left out any debate on whether SafetyNet/AndroidPay/etc need to be this perfectly secure (most people do their banking on virus ridden Windows installations after all), who should get to decide which risk is worth taking, or even if Google and cohorts would be able to design the systems more robustly so the main app processor would not need to be trusted at all. (the latter could be done for Android Pay, but wouldn't necessarily solve anything for Random Banking App). While those are very interesting discussion points, ultimately it is Google who decides how they want this system to work, regardless of our opinions on the matter - and they want to secure it.
--- reserved ---
Changelogs
2016.10.10 - v0.55 - RELEASE NOTES
- Some code cleanup
- Support for blocking based on process name
- Should fix some crashes (requires uninstall/reinstall to activate)
2016.10.07 - v0.54 - RELEASE NOTES
- Fix for latest SafetyNet update
2016.09.19 - v0.53 - RELEASE NOTES
- Haploid container (monoploid)
2016.09.18 - v0.52 - see v0.51 release notes below
- Fix root loss on some firmwares
2016.09.18 - v0.51 - RELEASE NOTES
- Complete redesign
- Zygote proxying (haploid)
- Binder hijacking (diploid)
- su.d instead of ramdisk modification
- Xposed supported (-ish)
2016.09.04 - v0.16 - RELEASE NOTES
- Fix some SELinux access errors
- Should now work on devices that ask for a password/pattern/pin immediately at boot - for real this time!
- Binderjacking improvements for Nougat
2016.08.31 - v0.12 - RELEASE NOTES
- Fix some issues with suhide-add/rm scripts
- Fix not working at all on 32-bit devices
- Should now work on devices that ask for a password/pattern/pin immediately at boot
- Rudimentary GUI hiding
- No longer limited to arm/arm64 devices: support for x86/x86_64/mips/mips64 devices added
2016.08.29 - v0.01
- Initial release
As always thank you Chainfire! I will try and edit this post.
Edit @Chainfire this seems to work for enabling Android Pay! I didn't get the chance to actually pay yet. But it did let me add my card and did not display the message about a failed authorization of Android check! Before I couldn't even get past that first screen.
Edit 2: @Chainfire It seems to of had an adverse effect on Snapchat. I cleared cache on the app, uninstalled and reinstalled and restarted. It kept Force closing after a photo no matter what. I used suhide-rm and it seems to have fixed the app from any issues. Thanks again and hopefully we'll get you some more reports. Either way your solution works!
Tested on stock rooted 7.0 Nexus 6p.
@Chainfire
What was your reason for doing this project?
Sent from my Nexus 6P using XDA-Developers mobile app
Ofthecats said:
What was your reason for doing this project?
Click to expand...
Click to collapse
For building it, curious if the method I came up with would work well. For releasing, if others are doing it, join them or be left behind.
I'm assuming with custom ROM android pay still won't work right?
HamsterHam said:
I'm assuming with custom ROM android pay still won't work right?
Click to expand...
Click to collapse
I'd just give it a try. It's spoofing the specific app, not the entire ROM that matters. It's fairly simple to try.
Installed on LG G4 w/ V20g-EUR-XX update and rerooted with TWRP 3.0.2-0 and SuperSU-v2.76-2016063161323. seems to be working fine, for the moment. Thank you for the update.
So far so good, I was able to add card to android pay. I would try using it during lunch and report back. Again, thanks for the continuous hard work.
djide said:
So far so good, I was able to add card to android pay. I would try using it during lunch and report back. Again, thanks for the continuous hard work.
Click to expand...
Click to collapse
What was the UID or process you found to blacklist it with?
Sent from my ONEPLUS A3000 using Tapatalk
how to install it? which file should I flash ? Both?
I can't see to add an app using terminal.
I'm typing in
/data/adb/suhide-add 10284
Says file not found. Can someone help, cheers.
Joshmccullough said:
What was the UID or process you found to blacklist it with?
Click to expand...
Click to collapse
Android Pay comes blacklisted out-of-the-box
HamsterHam said:
I can't see to add an app using terminal.
I'm typing in
/data/adb/suhide-add 10284
Says file not found. Can someone help, cheers.
Click to expand...
Click to collapse
Are you in Android or TWRP ?
ls -l /data/adb/
Chainfire said:
Android Pay comes blacklisted out-of-the-box
Click to expand...
Click to collapse
Derp. That's what I get for not reading the entire sentence under 'Install' in the OP......thanks!
PedroM.CostaAndrade said:
how to install it? which file should I flash ? Both?
Click to expand...
Click to collapse
Please don't quote a large post like that just to ask a single question.
Please read the first post, so you know what to do.
OnePlus 2 here, stock 6.0.1, systemless rooted with SuperSU Pro v2.76, flahed using Flashfire.
Passes SafetyNet check, does not pass my bank's root check, propably for the reasons the OP states above.
thdervenis said:
OnePlus 2 here, stock 6.0.1, systemless rooted with SuperSU Pro v2.76, flahed using Flashfire.
Passes SafetyNet check, does not pass my bank's root check, propably for the reasons the OP states above.
Click to expand...
Click to collapse
You need to blacklist the UID for your bank. Directions are in the OP.

[TESTING] libhoudini for Android N ROMs (7.1.0a_y.49344 / 8.0.0_y.49374)

NOTE: This is only for Nougat (7.1) custom ROMs (such as Lineage 14.1 based)!
Make sure you do a proper nandroid backup before flashing!
I made a flashable zip for updating the libhoudini stuffs for Nougat (7.1) ROMs to 7.1.0a_y.49344. Not sure if this has been posted elsewhere before, though.
Before flashing, check your current libhoudini version by typing "houdini --version" either from adb shell or from terminal emulator. (UPDATE: Use the built-in Terminal as it doesn't work in Termux)
You should only try to flash this if your houdini version is below 7.1.0a_y.49344. Current custom ROMs usually have a houdini version of 7.1.0_y.48901 (DotOS 1.2 for example).
Flashable zip (It's about 34MB in size) (Dropbox link here)
The original source is from here, apparently taken from Nexus Player (fugu).
After flashing, "houdini --version" should report something like this:
Code:
[14902]
[14902] Houdini version: 7.1.0a_y.49344
[14902]
TESTING NEEDED: I'm not sure what this version of houdini might fix or break, so try this at your own risk. If you're currently not having problems with apps then there's no need to flash this. Compared with existing device files (7.1.0_y.48901, in /system/lib/arm/), several library files are changed, plus an additional "libgate.so" which I could identify it as being an ARM library file (so it'll also be placed in /system/lib/arm, although I'm not sure where it might be used).
EXPERIMENTAL (UNTESTED!): Here's another version in case someone might be interested. This build is 8.0.0_y.49374, and the version number literally means it's to be used for Oreo, so I'm not sure if it'll work on a 7.x ROM. The original source of this version is from Android-x86.
Flashable zip (Dropbox link here)
If the zip works, it should report the following version:
Code:
[19729]
[19729] Houdini version: 8.0.0_y.49374
[19729]
What is the use for this ?
PedroCaseiro said:
What is the use for this ?
Click to expand...
Click to collapse
It's just to put updated libhoudini libraries into the device, in hope that those updated stuffs might help with fixing some native libhoudini crashes on certain problematic ARM-only apps.
I had some ARM-only apps that always FC with native crashes (SIGSEGV) from libhoudini on Zenfone 2. Although the updated binaries unfortunately could not fix the problems entirely, at least the they work as intended as I haven't discovered anything broken by the updated stuffs yet.
However, this won't help if your app crash is due to the developer shipping an incomplete set of x86 native binaries (this can happen). You need to sideload it through adb and force it to use ARM abi, like this:
Code:
adb install --abi armeabi xxx.apk
Note that the abi name varies among apps, armeabi is just an example, it might be arm, or armeabi-v7a, depending on the app itself.
EDIT: Say, is there a way to report device incompatibilities to Play Store so I can explain the device's situation and let Play Store always ship the last known good version for our device? There seem to be some apps that previously worked, but not now due to updated native libraries that would cause native crashes on libhoudini (Play Store will still treat our device as compatible due to the device exposing the ARM abis thanks to libhoudini), and I often need to disable the app in question's auto-update to prevent Play Store updating it to the native-crashing version.
Running "houdini --version" in a terminal emulator results in:
"houdini: command not found"
for latest version of Groovy Android
deckinghalls said:
Running "houdini --version" in a terminal emulator results in:
"houdini: command not found"
for latest version of Groovy Android
Click to expand...
Click to collapse
Are you using Termux? It seems I'm getting the same result there as well, but houdini outputs just fine in the built-in Terminal as well as in the T-UI launcher.
And as for file lists:
In /system/bin there's the "houdini" binary.
Then there's "libhoudini.so" in /system/lib/ (this is the main library which is of i386 architecture).
And the rest of the files (ARM libraries) in /system/lib/arm/. These consist of the exact same set of files as the ones provided by the custom ROMs, plus an additional one (libgate.so).
LSS4181 said:
Are you using Termux? It seems I'm getting the same result there as well, but houdini outputs just fine in the built-in Terminal as well as in the T-UI launcher.
And as for file lists:
In /system/bin there's the "houdini" binary.
Then there's "libhoudini.so" in /system/lib/ (this is the main library which is of i386 architecture).
And the rest of the files (ARM libraries) in /system/lib/arm/. These consist of the exact same set of files as the ones provided by the custom ROMs, plus an additional one (libgate.so).
Click to expand...
Click to collapse
I am not sure what is meant by "the built-in Terminal" (I don't recall any ROM coming with one?) but I did use Termux as well as the terminal in TWRP. I figured out if you type "su" to get root access first, then the command works fine in Termux.
Flashed the .zip file. So far, I haven't noticed any changes, good or bad. I don't remember which apps would FC (maybe the Amazon Echo app and Disney Infinity 3.0?) but I'll keep you posted.
deckinghalls said:
I am not sure what is meant by "the built-in Terminal" (I don't recall any ROM coming with one?) but I did use Termux as well as the terminal in TWRP. I figured out if you type "su" to get root access first, then the command works fine in Termux.
Flashed the .zip file. So far, I haven't noticed any changes, good or bad. I don't remember which apps would FC (maybe the Amazon Echo app and Disney Infinity 3.0?) but I'll keep you posted.
Click to expand...
Click to collapse
Some ROMs do have built-in terminal app. However, you need to enable it, which can be done in Settings -> Developer Options (assuming you know how to enable Developer Options as well). There would be an option to enable "Local terminal" which is the built-in terminal app.
Which means it will help the x86 device run ARM ???
I do not understand. Please analyze me
Mkey_34 said:
Which means it will help the x86 device run ARM ???
I do not understand. Please analyze me
Click to expand...
Click to collapse
libhoudini is Intel's ARM binary translator that helps x86 devices run ARM apps, albeit with some limitations and performance reduction due to overhead. Without it, most apps won't be able to work at all, as they don't have x86 native libraries.
Zenfone 2 already has houdini included, that's why it could run as many apps as any other devices. The flashable zip here contains updated files (for 7.1 ROMs) in hope it could help with some problematic ARM-only apps that refuse to work with libhoudini, though in most cases the differences are barely noticeable.
LSS4181 said:
libhoudini is Intel's ARM binary translator that helps x86 devices run ARM apps, albeit with some limitations and performance reduction due to overhead. Without it, most apps won't be able to work at all, as they don't have x86 native libraries.
Zenfone 2 already has houdini included, that's why it could run as many apps as any other devices. The flashable zip here contains updated files (for 7.1 ROMs) in hope it could help with some problematic ARM-only apps that refuse to work with libhoudini, though in most cases the differences are barely noticeable.
Click to expand...
Click to collapse
Thank you
---------- Post added at 02:58 AM ---------- Previous post was at 02:53 AM ----------
something's wrong I can not download it. I need another link. thank you
My device is running Groovy Android 7.1.1, 18 May Build.
so i have successfully upgraded houdini version using your flashable file. Thank You for your work.
what if i want to revert to the houdini version that comes preinstalled with the rom, will dirty flash rom zip work?
sushuguru said:
what if i want to revert to the houdini version that comes preinstalled with the rom, will dirty flash rom zip work?
Click to expand...
Click to collapse
The zip is meant to be flashed every time you reflash the ROM, so yes, dirty flashing should be able to revert it.
But again... you're supposed to do a nandroid backup before flashing, and there's no need to flash this if you aren't encountering any native code crashes from arm-only apps at the moment.
Unfortunately, as Intel had already left the mobile market and no more Intel-powered smartphones produced anymore, some developers started to "move on" and use libraries or compiler options incompatible with houdini in order to make their apps run more efficient on modern ARM smartphones, without having to be "constrained" for compatibility reasons...
The houdini binaries I found only seems to be a minor update, and I'm not sure if Intel is still working on this or if there are possibilities to obtain an even newer houdini version with "y" suffix, which our phone uses.
Added an experimental (UNTESTED!) version found from Android-x86 (8.0.0_y.49374). This version was originally meant for Oreo, so I'm not sure if this would work on a Nougat ROM.
Currently on Android-x86 only the "y" version (which our devices use) is available. The other versions ("x" and "z") are not present, and the link would simply give you a "not found" error.
Although I don't mainly use the phone anymore, I could still conduct some tests with the device if I have time.
Bit the bullet and tested the 8.0.0_y.49374 build. Does not work. Evie force crashes right off the bat. Haven't tested further than this, but if I cannot even use my launcher of choice, that isn't a good sign.

[UNOFFICIAL][ROM]ALPHA LineageOS 20 for SM-T810 - June 23, 2023

LineageOS 20 UNOFFICIAL for 2015 Samsung Galaxy Tab S2 SM-T810 ONLY
Model: SM-T810 (wifi) - gts210wifi - 9.7" screen, Exynos 5433 SoC, no LTE
This is the ONLY model that the ROM will work on.​
You MUST READ posts 1-4 (about 10 minute read) before deciding to install this rom. If you think this is an unreasonable request, then stop reading now and find another rom. Thank you.
DISCLAIMER
I am not responsible for lost data, identity theft, lost money, security vulnerabilities, bricked devices or any other hardware or software malfunctions that comes as a result of flashing this rom.
All involved in bringing this build to you are working voluntarily on it in very limited spare time, and their other life commitments have much higher priority. Don't expect a prompt, or even any, response to questions and bug reports.
Before attempting to install this ROM
1. Ask yourself: would bricking your device be a disaster for you? If yes, don't try this ROM! It can't be guaranteed stable and reliable enough to depend on for daily use.
2. BACKUP YOUR DATA AND EXISTING ROM. Be prepared for a complete restore if anything goes wrong.
3. RESEARCH adb, fastboot, Odin/heimdall, and TWRP and how to use them, if not already familiar with these.
What works
1. bluetooth
2. wifi
3. brightness
4. external audio
5. GPS
6. audio through headphone jack
7. audio over bluetooth
8. selinux enforcing
9. DRM level 3 (SD definition)
10. deep sleep
11. camera
What doesn't work/What hasn't been tested
1. fingerprint is completely removed in 19.1. When I tested it in March 2022, it wasn't compatible with keystore2 and as I wrote in post 1891 at
https://forum.xda-developers.com/t/...t810-t815-t815y.3879302/page-95#post-85533725
it never worked properly after deep sleep. If you need fingerpint to work, stay with stock Samsung rom.
2. DRM level 1 (no HD definition). There's more detail in post 1891 above. I will not be trying to achieve level 1 for HD definition. If you need HD definition for your $treaming media, stay with stock Samsung rom.
3. full disk encryption has been deprecated in Android 13 (LineageOS 20).
4. If you charge the device while it's powered off and then want to power it on, you MUST wait at least 30 seconds AFTER disconnecting the charger cable before pressing the power button otherwise you might run into strange boot problems.
5. There has no been no fix for the “Connected to device. Can’t provide internet” (CPI). DO NOT ASK when this will be fixed. If/when it is fixed, it will be announced public in this thread.
If you have a lot of apps installed, you may run into CPI as we suspect it's possibly a slow memory leak. Depending on how many apps you have installed CPI may show up in 14 days. The only way to "fix" CPI is to reboot.
CPI may also show up if you have even just one app that somehow triggers a huge/large memory leak. Again, the only "fix" is to reboot.
We've spent a lot of time trying various kernel binder patches and updating the binder code as much as possible, but some users, NOT all, still run into CPI. Since I use Aurora Store and minimal apps, I never run into CPI like some pre ALPHA testers.
6. Device running really slow/laggy due to low memory. If you run a lot of apps that "phone home/connect to mothership", there's a possibility that it triggers a slow memory leak and the device, over time, becomes slow and laggy. You can see if you're low on memory by running
Bash:
$ adb shell dumpsys meminfo
Total RAM: 2,827,980K (status critical)
Free RAM: 256,196K ( 53,728K cached pss + 87,128K cached kernel + 115,340K free)
Used RAM: 3,638,878K (3,067,642K used pss + 571,236K kernel)
Lost RAM: -346,213K
ZRAM: 671,040K physical used for 1,412,244K in swap (1,413,984K total swap)
Tuning: 192 (large 512), oom 184,320K, restore limit 61,440K
When the above shows "status critical", that's a sign of a memory leak and you may get CPI or slow/laggy performance. The only "fix" is to reboot. It should show "status normal" after a reboot.
If you're a developer, we could use some help here determining where the memory leak is.
7. gapps. Some of you require gapps for whatever reason. I use Aurora Store for my purposes and thus have NO KNOWLEDGE of the current state of gapps.
There are various gapps projects (at least 5 in 2023). Each has pros and cons. It's your job to do the research and find a suitable gapps project. I suggest you allocate at least a couple of hours/days doing your own research. My rom works by itself fine without gapps. DO NOT talk about gapps in this thread.
I have created a new 20 thread for those wanting to discuss gapps at
https://forum.xda-developers.com/t/...sion-for-20-roms-sm-t710-and-sm-t810.4600455/
In there, you will find what pre ALPHA testers have been using.
8. Possibly other features/apps that I haven't tested or do not use.
Source Code
Kernel source code
https://github.com/retiredtab/andro...ersal5433-selinux/tree/lineage-20-8916-binder
See FAQ 1 for links to the device tree, manifest and build instructions in post #2.
Thanks
1. LineageOS team for source code.
2. LineageOS-UL team for merging, maintaining the legacy patches needed for old devices into one common repository so everyone can benefit.
https://github.com/orgs/LineageOS-UL/people
3. In alphabetical order.
@ananjaser1211
- answering 5433 related questions wrt to certain features.
@bmwdroid
- testing many pre ALPHA 20 builds and reporting the results
@lpedia
- testing many pre ALPHA T710 builds starting in late Oct 2022 and reporting the results
- verifying my build instructions work so that the technically inclined can build this from source
- building, maintaining and most importantly, testing the T710 20 builds before monthly security patches release
@metterschling
- suggestions, feedback on 20
- verifying my build instructions work so that the technically inclined can build this from source
@pflyaz
- testing many pre ALPHA 20 builds and reporting the results
@Yogi555
- testing many pre ALPHA 20 builds and reporting the results
- verifying my build instructions work so that the technically inclined can build this from source
- building, maintaining and most importantly, testing the T810 20 builds before monthly security patches release
Frequently Asked Questions. You MUST READ this before posting any questions. If you think this is unreasonable, then find another rom. Thank you.
QuestionAnswerQ1. Can I build this ROM for myself? Where are the source and kernel source files?A1. Yes, you can. The source files are listed below.
Kernel
https://github.com/retiredtab/android_kernel_samsung_universal5433-selinux
Device Tree
https://github.com/retiredtab/android_device_samsung_gts2-common-selinux
https://github.com/retiredtab/android_device_samsung_gts210wifi
Vendor
https://github.com/retiredtab/proprietary_vendor_samsung-selinux
The build manifest and instructions on how to compile from source are at
https://github.com/retiredtab/LineageOS-build-manifests/tree/main/20/exynos5433Q2. Is this ROM suitable as a daily driver?A2. It might be, depending on your requirements. You would need to try it yourself, with your preferred apps, to see if suits your purposes. I've been using it myself since Oct, 2022 with no major issues.Q3. What do I do if my app xyz doesn't work?A3. I can't help diagnose problems with random apps I know nothing about. If the app is critically important to you and it doesn't work on this ROM, go back to a ROM where it did work.Q4. Why is this ROM laggy and/or buggy?A4. The device will be noticeably slower if you're using any Gapps package. Consider going gapps-free. A lot of apps will work without Google's services, or there exist alternatives that will. Check out F-Droid, Aurora Store, NewPipe, etc.Q5. What TWRP should I use?A5. You MUST use TWRP 3.6.2_9. Get it from
https://dl.twrp.me/gts210wifi/Q6. Why should I use this ROM?A6. You don't have to! If you don't like it, go back to your old ROM.Q7. Will you offer monthly updates with security patches?A7. We plan to do so. We will try to update the ROM with the monthly security patches after LineageOS has released them, free time permitting. Each monthly build will be tested to make sure all the "What works" functionality listed in post #1 still works, before it's made available (which might in some cases delay the release).Q8. I'm a newbie. Can you provide step by step instructions?A8. We simply don't have the time to do this, but there are lots of tutorials, videos, etc online showing how to flash custom ROMs and how to deal with common problems. Newbie questions are also accepted in the XDA General Questions and Answers forum.Q9. Can I report a bug with respect to the ROM?A9. Yes, but you need to supply the following information. If you don't, I won't look at it.
Provide an adb logcat of the problem, and if possible describe how to reproduce it. Note that I can't help if it involves downloading any app I don't already use that requires payment or creating a userid/password.
To get a logcat, open a terminal window on your PC, connect your device to it via USB, and do this:
Code:
# clear the logcat first
adb logcat -c
# start logcat trace
adb logcat > problem.txt
# reproduce problem
# wait until problem has occurred,
# then stop trace by hitting ctrl-c
# zip the problem.txt file before uploading it.
Q10. How long will you build 20 for this device?A10. For now, 20 will be built for all of 2023. After that, we will make a decision depending on a number of factors.Q11. Do I need to erase everything and format my data before installing this ROM for the first time?A11. If you're coming from stock Samsung Android, or an earlier version of LineageOS, or a different custom ROM, you MUST 'clean flash': boot to TWRP recovery, wipe system, data, dalvik/art cache, and cache partitions, then Format Data, then install this ROM.
If you don't do this you're likely to run into problems, such as getting stuck at the boot animation for more than 5 minutes.Q12. What Gapps should I use?A12. Your choice! There are several well-known Gapps packages, such as NikGapps, BiTGapps and MindTheGapps. Do your own research as to what is the most reliable gapps option for you. As a courtesy to gapps users, I opened a thread at
https://forum.xda-developers.com/t/...sion-for-20-roms-sm-t710-and-sm-t810.4600455/
for you to discuss gapps. Do not discuss gapps in this thread. Thank you.
You could also consider Google alternatives, such as Aurora Store, which mirrors the Google Play Store apps but doesn't need any Google services itself. Many Play Store apps do not actually depend on Google services.
If you are going to install any Gapps package, follow the installation instructions given for that particular package.Q13. I'm having problems with Gapps. Can you tell me why it's not working?A13. I can't answer any questions about Gapps, because I don't use them. Ask your questions on the XDA thread for the Gapps package you're using.Q14. Why isn't my post answered?A14. There are several possible reasons: the question is answered in the FAQ (in which case it will be ignored completely); or it involves apps or operating systems that I don't use; or it's about Gapps, which I don't use; or I simply have not had time to answer any questions.Q15. What speed up/optimization tips do you suggest?A15. These steps can make a big difference to performance:
Turn off animations. Go to Settings > System > Developer options, scroll down to the Drawing section, and set Window, Transition and Animator scale all to "Animation off".
Don't install Gapps unless you depend on something that only Google is providing. Use Aurora Store to get your preferred Play Store apps - they will all be available on Aurora Store. You can choose to access this anonymously or use a Google account.
Don't run more than two apps at the same time. You can probably listen to music in the background and use a web browser at the same time.
Use a web browser with built-in adblock and privacy features, such as Brave.
Use NewPipe to watch your streaming content. It has built in adblock so you don't have to watch forced ads.
Look for apps that are open source, ad-free and lightweight.
Q16. Does this ROM support Magisk so I can root my device?A16. Magisk works with this ROM as reported by beta testsers, but that could change with any revision and changes by Google. However I don't use it myself and can't help with any related issues. Direct any questions about Magisk to the XDA Magisk forum.Q17. Will this ROM ever become official?A17. With 19.1 and up, legacy devices like ours will NEVER be official due to lack of ebpf support. See https://lineageos.org/Changelog-26/Q18. What is the difference between this ROM and others?A18. This ROM tries to be pure LineageOS with little or no modification. Other ROMs may come with a different UI, different bundled apps, etc.Q19. Will there be any major 20 code modifications in the future?A19. There may be some major modifications along with some slight tweaking to the SEpolicy, small bug fixes and minor code cleanup, but all the hard work - getting the rom up and running, and fixing all the major bugs - has been done.Q20. Why did you fork the trees?A20. I wanted my own private branch where I could make changes that would only affect my own personal builds.Q21. Can you build a variant of this device? For example, a LTE or S-pen version?A21. I cannot and will not try to build for a variant device if I don't physically have that device. I have to be able to boot and test it myself, and there's no guarantee that I can get those variant features working.Q22. Can I load this ROM on a variant device like LTE or S-pen version?A22. This ROM is for the device explicitly listed and will only work on that device. Do not try to install it on any other device.
ONLY if you are an advanced user and understand TWRP, adb, odin, heimdall, etc, you could try loading it on a LTE or S-pen variant by modifying the updater-script, but be warned: there are likely to be problems, including a bricked device, bootloops, or the ROM not being able to support the functionality of LTE/S-pen.Q23. Does this ROM have any wifi connection issues?A23. This ROM's wifi has been stable on the specified device ever since lpedia and I determined the root cause of the wifi problems back in July 2021 and re-installed the original S2 network 'blobs' with LOS 17.1.Q24. Is this ROM secure so I can do financial transactions?A24. Although Android monthly security patches do improve general security, this ROM's outdated kernel and old proprietary vendor blobs/drivers will NEVER get updates of any kind, and could have significant security holes.
In addition, although the ROM is SElinux enforcing, there's a good chance that the rules written (about 1000+ lines of code) have some errors.
If the device is rooted, this would further weaken the security.
With this information, it's up to you to make an informed decision about whether you trust this ROM to be secure enough for your financial transactions.Q25. How do I turn off the taskbar at the bottom of the screen?A25. Goto settings, system, buttons and disable taskbar.Q26. Okay, I understand the consequences and willing to take the risks outlined, now where can I find the ALPHA rom?A26. Downloads are at https://sourceforge.net/projects/retiredtab/files/SM-T810/20/
Release notes
NOTE: All builds that I upload have been personally tested on my device to boot and function as described in post #1. Having said that, there's still a chance it won't work on your device due to human error, your configuration, your apps, etc. If it won't boot, always start with a complete wipe of everything and format your data in TWRP. This is known has a clean install. Backup your data before a clean install.
June 23, 2023
1. Initial 20 ALPHA public release.
2. Incorporates June 5th security patches as per https://review.lineageos.org/q/topic:"T_asb_2023-06"
3. If you are coming from stock rom or an older LineageOS version (example, 18.1 or 19.1), you MUST format your data in TWRP. Remember to backup your data and verify that restore data works before upgrading to 20.
Reserved.

[UNOFFICIAL][ROM]ALPHA LineageOS 20 for SM-T710 - June 23, 2023

LineageOS 20 UNOFFICIAL for 2015 Samsung Galaxy Tab S2 SM-T710 ONLY
Model: SM-T710 (wifi) - gts28wifi - 8.0" screen, Exynos 5433 SoC, no LTE
This is the ONLY model that the ROM will work on.​
You MUST READ posts 1-4 (about 10 minute read) before deciding to install this rom. If you think this is an unreasonable request, then stop reading now and find another rom. Thank you.
DISCLAIMER
I am not responsible for lost data, identity theft, lost money, security vulnerabilities, bricked devices or any other hardware or software malfunctions that comes as a result of flashing this rom.
All involved in bringing this build to you are working voluntarily on it in very limited spare time, and their other life commitments have much higher priority. Don't expect a prompt, or even any, response to questions and bug reports.
Before attempting to install this ROM
1. Ask yourself: would bricking your device be a disaster for you? If yes, don't try this ROM! It can't be guaranteed stable and reliable enough to depend on for daily use.
2. BACKUP YOUR DATA AND EXISTING ROM. Be prepared for a complete restore if anything goes wrong.
3. RESEARCH adb, fastboot, Odin/heimdall, and TWRP and how to use them, if not already familiar with these.
What works
1. bluetooth
2. wifi
3. brightness
4. external audio
5. GPS
6. audio through headphone jack
7. audio over bluetooth
8. selinux enforcing
9. DRM level 3 (SD definition)
10. deep sleep
11. camera
What doesn't work/What hasn't been tested
1. fingerprint is completely removed in 19.1. When I tested it in March 2022, it wasn't compatible with keystore2 and as I wrote in post 1891 at
https://forum.xda-developers.com/t/...t810-t815-t815y.3879302/page-95#post-85533725
it never worked properly after deep sleep. If you need fingerpint to work, stay with stock Samsung rom.
2. DRM level 1 (no HD definition). There's more detail in post 1891 above. I will not be trying to achieve level 1 for HD definition. If you need HD definition for your $treaming media, stay with stock Samsung rom.
3. full disk encryption has been deprecated in Android 13 (LineageOS 20).
4. If you charge the device while it's powered off and then want to power it on, you MUST wait at least 30 seconds AFTER disconnecting the charger cable before pressing the power button otherwise you might run into strange boot problems.
5. There has no been no fix for the “Connected to device. Can’t provide internet” (CPI). DO NOT ASK when this will be fixed. If/when it is fixed, it will be announced public in this thread.
If you have a lot of apps installed, you may run into CPI as we suspect it's possibly a slow memory leak. Depending on how many apps you have installed CPI may show up in 14 days. The only way to "fix" CPI is to reboot.
CPI may also show up if you have even just one app that somehow triggers a huge/large memory leak. Again, the only "fix" is to reboot.
We've spent a lot of time trying various kernel binder patches and updating the binder code as much as possible, but some users, NOT all, still run into CPI. Since I use Aurora Store and minimal apps, I never run into CPI like some pre ALPHA testers.
6. Device running really slow/laggy due to low memory. If you run a lot of apps that "phone home/connect to mothership", there's a possibility that it triggers a slow memory leak and the device, over time, becomes slow and laggy. You can see if you're low on memory by running
Bash:
$ adb shell dumpsys meminfo
Total RAM: 2,827,980K (status critical)
Free RAM: 256,196K ( 53,728K cached pss + 87,128K cached kernel + 115,340K free)
Used RAM: 3,638,878K (3,067,642K used pss + 571,236K kernel)
Lost RAM: -346,213K
ZRAM: 671,040K physical used for 1,412,244K in swap (1,413,984K total swap)
Tuning: 192 (large 512), oom 184,320K, restore limit 61,440K
When the above shows "status critical", that's a sign of a memory leak and you may get CPI or slow/laggy performance. The only "fix" is to reboot. It should show "status normal" after a reboot.
If you're a developer, we could use some help here determining where the memory leak is.
7. gapps. Some of you require gapps for whatever reason. I use Aurora Store for my purposes and thus have NO KNOWLEDGE of the current state of gapps.
There are various gapps projects (at least 5 in 2023). Each has pros and cons. It's your job to do the research and find a suitable gapps project. I suggest you allocate at least a couple of hours/days doing your own research. My rom works by itself fine without gapps. DO NOT talk about gapps in this thread.
I have created a new 20 thread for those wanting to discuss gapps at
https://forum.xda-developers.com/t/...sion-for-20-roms-sm-t710-and-sm-t810.4600455/
In there, you will find what pre ALPHA testers have been using.
8. Possibly other features/apps that I haven't tested or do not use.
Source Code
Kernel source code
https://github.com/retiredtab/andro...ersal5433-selinux/tree/lineage-20-8916-binder
See FAQ 1 for links to the device tree, manifest and build instructions in post #2.
Thanks
1. LineageOS team for source code.
2. LineageOS-UL team for merging, maintaining the legacy patches needed for old devices into one common repository so everyone can benefit.
https://github.com/orgs/LineageOS-UL/people
3. In alphabetical order.
@ananjaser1211
- answering 5433 related questions wrt to certain features.
@bmwdroid
- testing many pre ALPHA 20 builds and reporting the results
@lpedia
- testing many pre ALPHA T710 builds starting in late Oct 2022 and reporting the results
- verifying my build instructions work so that the technically inclined can build this from source
- building, maintaining and most importantly, testing the T710 20 builds before monthly security patches release
@metterschling
- suggestions, feedback on 20
- verifying my build instructions work so that the technically inclined can build this from source
@pflyaz
- testing many pre ALPHA 20 builds and reporting the results
@Yogi555
- testing many pre ALPHA 20 builds and reporting the results
- verifying my build instructions work so that the technically inclined can build this from source
- building, maintaining and most importantly, testing the T810 20 builds before monthly security patches release
Frequently Asked Questions. You MUST READ this before posting any questions. If you think this is unreasonable, then find another rom. Thank you.
QuestionAnswerQ1. Can I build this ROM for myself? Where are the source and kernel source files?A1. Yes, you can. The source files are listed below.
Kernel
https://github.com/retiredtab/android_kernel_samsung_universal5433-selinux
Device Tree
https://github.com/retiredtab/android_device_samsung_gts2-common-selinux
https://github.com/retiredtab/android_device_samsung_gts28wifi
Vendor
https://github.com/retiredtab/proprietary_vendor_samsung-selinux
The build manifest and instructions on how to compile from source are at
https://github.com/retiredtab/LineageOS-build-manifests/tree/main/20/exynos5433Q2. Is this ROM suitable as a daily driver?A2. It might be, depending on your requirements. You would need to try it yourself, with your preferred apps, to see if suits your purposes. I've been using it myself since Oct, 2022 with no major issues.Q3. What do I do if my app xyz doesn't work?A3. I can't help diagnose problems with random apps I know nothing about. If the app is critically important to you and it doesn't work on this ROM, go back to a ROM where it did work.Q4. Why is this ROM laggy and/or buggy?A4. The device will be noticeably slower if you're using any Gapps package. Consider going gapps-free. A lot of apps will work without Google's services, or there exist alternatives that will. Check out F-Droid, Aurora Store, NewPipe, etc.Q5. What TWRP should I use?A5. You MUST use TWRP 3.6.2_9. Get it from
https://sourceforge.net/projects/retiredtab/files/SM-T710/TWRP/Q6. Why should I use this ROM?A6. You don't have to! If you don't like it, go back to your old ROM.Q7. Will you offer monthly updates with security patches?A7. We plan to do so. We will try to update the ROM with the monthly security patches after LineageOS has released them, free time permitting. Each monthly build will be tested to make sure all the "What works" functionality listed in post #1 still works, before it's made available (which might in some cases delay the release).Q8. I'm a newbie. Can you provide step by step instructions?A8. We simply don't have the time to do this, but there are lots of tutorials, videos, etc online showing how to flash custom ROMs and how to deal with common problems. Newbie questions are also accepted in the XDA General Questions and Answers forum.Q9. Can I report a bug with respect to the ROM?A9. Yes, but you need to supply the following information. If you don't, I won't look at it.
Provide an adb logcat of the problem, and if possible describe how to reproduce it. Note that I can't help if it involves downloading any app I don't already use that requires payment or creating a userid/password.
To get a logcat, open a terminal window on your PC, connect your device to it via USB, and do this:
Code:
# clear the logcat first
adb logcat -c
# start logcat trace
adb logcat > problem.txt
# reproduce problem
# wait until problem has occurred,
# then stop trace by hitting ctrl-c
# zip the problem.txt file before uploading it.
Q10. How long will you build 20 for this device?A10. For now, 20 will be built for all of 2023. After that, we will make a decision depending on a number of factors.Q11. Do I need to erase everything and format my data before installing this ROM for the first time?A11. If you're coming from stock Samsung Android, or an earlier version of LineageOS, or a different custom ROM, you MUST 'clean flash': boot to TWRP recovery, wipe system, data, dalvik/art cache, and cache partitions, then Format Data, then install this ROM.
If you don't do this you're likely to run into problems, such as getting stuck at the boot animation for more than 5 minutes.Q12. What Gapps should I use?A12. Your choice! There are several well-known Gapps packages, such as NikGapps, BiTGapps and MindTheGapps. Do your own research as to what is the most reliable gapps option for you. As a courtesy to gapps users, I opened a thread at
https://forum.xda-developers.com/t/...sion-for-20-roms-sm-t710-and-sm-t810.4600455/
for you to discuss gapps. Do not discuss gapps in this thread. Thank you.
You could also consider Google alternatives, such as Aurora Store, which mirrors the Google Play Store apps but doesn't need any Google services itself. Many Play Store apps do not actually depend on Google services.
If you are going to install any Gapps package, follow the installation instructions given for that particular package.Q13. I'm having problems with Gapps. Can you tell me why it's not working?A13. I can't answer any questions about Gapps, because I don't use them. Ask your questions on the XDA thread for the Gapps package you're using.Q14. Why isn't my post answered?A14. There are several possible reasons: the question is answered in the FAQ (in which case it will be ignored completely); or it involves apps or operating systems that I don't use; or it's about Gapps, which I don't use; or I simply have not had time to answer any questions.Q15. What speed up/optimization tips do you suggest?A15. These steps can make a big difference to performance:
Turn off animations. Go to Settings > System > Developer options, scroll down to the Drawing section, and set Window, Transition and Animator scale all to "Animation off".
Don't install Gapps unless you depend on something that only Google is providing. Use Aurora Store to get your preferred Play Store apps - they will all be available on Aurora Store. You can choose to access this anonymously or use a Google account.
Don't run more than two apps at the same time. You can probably listen to music in the background and use a web browser at the same time.
Use a web browser with built-in adblock and privacy features, such as Brave.
Use NewPipe to watch your streaming content. It has built in adblock so you don't have to watch forced ads.
Look for apps that are open source, ad-free and lightweight.
Q16. Does this ROM support Magisk so I can root my device?A16. Magisk works with this ROM as reported by beta testsers, but that could change with any revision and changes by Google. However I don't use it myself and can't help with any related issues. Direct any questions about Magisk to the XDA Magisk forum.Q17. Will this ROM ever become official?A17. With 19.1 and up, legacy devices like ours will NEVER be official due to lack of ebpf support. See https://lineageos.org/Changelog-26/Q18. What is the difference between this ROM and others?A18. This ROM tries to be pure LineageOS with little or no modification. Other ROMs may come with a different UI, different bundled apps, etc.Q19. Will there be any major 20 code modifications in the future?A19. There may be some major modifications along with some slight tweaking to the SEpolicy, small bug fixes and minor code cleanup, but all the hard work - getting the rom up and running, and fixing all the major bugs - has been done.Q20. Why did you fork the trees?A20. I wanted my own private branch where I could make changes that would only affect my own personal builds.Q21. Can you build a variant of this device? For example, a LTE or S-pen version?A21. I cannot and will not try to build for a variant device if I don't physically have that device. I have to be able to boot and test it myself, and there's no guarantee that I can get those variant features working.Q22. Can I load this ROM on a variant device like LTE or S-pen version?A22. This ROM is for the device explicitly listed and will only work on that device. Do not try to install it on any other device.
ONLY if you are an advanced user and understand TWRP, adb, odin, heimdall, etc, you could try loading it on a LTE or S-pen variant by modifying the updater-script, but be warned: there are likely to be problems, including a bricked device, bootloops, or the ROM not being able to support the functionality of LTE/S-pen.Q23. Does this ROM have any wifi connection issues?A23. This ROM's wifi has been stable on the specified device ever since lpedia and I determined the root cause of the wifi problems back in July 2021 and re-installed the original S2 network 'blobs' with LOS 17.1.Q24. Is this ROM secure so I can do financial transactions?A24. Although Android monthly security patches do improve general security, this ROM's outdated kernel and old proprietary vendor blobs/drivers will NEVER get updates of any kind, and could have significant security holes.
In addition, although the ROM is SElinux enforcing, there's a good chance that the rules written (about 1000+ lines of code) have some errors.
If the device is rooted, this would further weaken the security.
With this information, it's up to you to make an informed decision about whether you trust this ROM to be secure enough for your financial transactions.Q25. How do I turn off the taskbar at the bottom of the screen?A25. Goto settings, system, buttons and disable taskbar.Q26. Okay, I understand the consequences and willing to take the risks outlined, now where can I find the ALPHA rom?A26. Downloads are at https://sourceforge.net/projects/lpedia-sf/files/gts28wifi-20/
Release notes
NOTE: All builds that I upload have been personally tested on my device to boot and function as described in post #1. Having said that, there's still a chance it won't work on your device due to human error, your configuration, your apps, etc. If it won't boot, always start with a complete wipe of everything and format your data in TWRP. This is known has a clean install. Backup your data before a clean install.
June 23, 2023
1. Initial 20 ALPHA public release.
2. Incorporates June 5th security patches as per https://review.lineageos.org/q/topic:"T_asb_2023-06"
3. If you are coming from stock rom or an older LineageOS version (example, 18.1 or 19.1), you MUST format your data in TWRP. Remember to backup your data and verify that restore data works before upgrading to 20.
Reserved.

Categories

Resources