The Launcher3 fork known as "Rootless Pixel Launcher"
The Launcher3 fork known as "Rootless Pixel Launcher"
By Amir Zaidi
Play Store release: https://play.google.com/store/apps/details?id=amirz.rootless.nexuslauncher
Photos and videos: https://photos.app.goo.gl/qdcAcLOdiu8Kl1Bh1
APK Downloads: https://github.com/amirzaidi/launcher3/releases
Rootless Pixel Bridge: https://github.com/amirzaidi/AIDLBridge/releases
Magisk version (only for Pixel users): https://github.com/amirzaidi/launcher3magisk/releases
Alphas: https://t.me/appforks
Contact: https://t.me/mirai
My launcher is a close to AOSP launcher that only changes the necessary code to allow for small extensions and backporting to older Android versions. If you want a more feature packed launcher use Nova, Action or Lawnchair. It is focused on simplicity and rock solid stability. Bug reports go above all else, and almost every feature request will be denied.
Custom
Custom
This launcher supports adaptive icon packs. I made an example pack called Google Icons, which replaces OEM icons with the Google variant: https://github.com/amirzaidi/GoogleIcons/releases
There is also a module for Pixel users if they grew bored of the default launcher and want to try out my launcher.
Disable this launcher and switch to different launcher before enabling or disabling the module. Not doing so could result in a “0.0dip has stopped working" bug. If you do encounter this bug, try installing the real Pixel Launcher from the app store.
Before I talk about the things I used for the creation, I want to put a disclaimer that I did not simply copy and paste what the developers did. I looked at their code to spare myself time in researching the places where changes are necessary for a feature, and then made my own implementation. Still, I want to credit these developers for the hard work they have done upon which others like me could build.
Till is the founder of Lawnchair, the Pixel Launcher with many customization features. Initially I did not want to implement icon packs because I feared it would break too many things, but then I took a look at his old implementation to see how much work it really was. And to my surprise it could be done without changing any AOSP Java code. Instead, I could specify a custom icon loader through XML and then focus on writing that icon loader code. The icon loader could load an icon pack app’s icon list and save that list in memory.
https://forum.xda-developers.com/android/apps-games/app-rootless-pixel-2-launcher-google-t3688393
Samsung users were facing stylistic issues, saying they were seeing blue folders and a blue app drawer. They also had this problem in the real Pixel Launcher, but Paphonb had fixed it according to them. So I decompiled Paphonb’s Pixel Launcher and compared it with the real APK to see what he changed. From his I figured out what was necessary to override Samsung’s changes and incorporated them in my styles.
https://github.com/klinker24/launcher3/commit/305438ddac487b3f5febfca3c9950f780307cec0
This commit, used by Flick Launcher, was what gave me the idea of a simple most-clicked counter for app predictions. I extended the code with the idea of “decay” where new apps can eventually catch up with the older apps and the old apps aren’t stuck forever at a high click count.
This member of Paranoid Android, who is also known as TheCrazySkull, was the first person that got the Google Now feed to work and release sources for it on GitHub. Thanks to him, the entire chain of “Rootless” Google Now feeds has been set in motion. I first tried implementing it on the Custom ROM called VertexOS, and wanted to find a way to debug what I was doing. I managed to get the launcher to compile in Android Studio, and to my surprise it worked after simply installing it as an apk! I hadn’t seen anyone else release a launcher that supported this (except for Google, obviously) so I continued working on it until it became the first version of “Rootless Pixel Launcher” (after a lot of decompilation with trial and error).
The Nova Launcher developer was kind enough to e-mail me the details of WHY the Google Now feed was working on my launcher. He explained that the Google App used to have two ways of showing the Google Now feed: either the Google app was installed as a debug variant app, or the launcher was installed as a system app (which requires root). A few months ago Google changed this condition, so it also shows when the Launcher is installed as a debug app. This is why my debug variant launcher APKs are working, and the apps on the Play Store (which requires a release variant app) need a “companion” that runs as a debug app to get the Now feed. I think I still haven’t replied to this e-mail, so if you are reading this Kevin, I’m sorry..
This Substratum developer taught me how to make a Magisk module this week. I wanted to release it on his name, but he said it’s so simple I didn’t have to do it. So instead I will credit him here.
I kanged the translations for the terms “Icon pack” and “Applying” from their launcher. Sorry (not really).
For making the real Pixel Launcher in the first place. I also got some translations using Google Translate.
Working on this launcher took a long time, and I would like to thank all the testers across different Android versions and OEMs for making sure the launcher has rock solid stability. You reported bugs to me at an incredible pace which is necessary for a project of this scope. Without you I wouldn’t have been able to come this far!
Enjarify, Procyon and Jadx do 75% of the decompilation work, but you have to manually fix up the decompiled sources before you can even think about compiling in Android Studio. I want to thank the creators of these decompilation tools for the impressive work they have done.
If it requires an additional settings entry, no. I stand for simplicity and perfection out of the box, and having a lot of customization does not fit in that vision. Use Nova, Action or Lawnchair if you want features, I probably won’t add it.
I tried my best to backport as much as possible all the way to Lollipop. Some features like app shortcuts are simply too difficult for me to do properly and without bugs at this moment. The light theme could work on Marshmallow, but is broken on some OEM Stock Marshmallow ROMs so I decided to just disable it for Marshmallow.
Disable the weather card in Google Now, or use a lower DPI. Changing your DPI can be done from Android 6 onwards, and it can be done through the settings app from Android 7. It’s called “smallest width” in the developer options.
This is based on your DPI/smallest width. For Marshmall
Will Android 15 update come?
Test Cell nuvem
App search missing
Applications from the Work profile activated via DPC are not listed.
My screen is very large, and I hope the number of rows and columns of desktop icons can be increased to 20x20.
removed from Google play
RUN..exe,,,
Save to use?
Option to change search engine
Update to Android 13 Go