Closed AndroidDeveloperLB closed 6 years ago
I think he got it by extracting it from the APK, but it's not open source
But... isn't it incredibly hard (reverse engineering) , and might be illegal? Also, why is it called "Launcher3" ? The one on real vanilla is till 2, no? Or maybe that's from how he got it?
First of all, I forked this: https://android.googlesource.com/platform/packages/apps/Launcher3/ That's why it's called Launcher3. It is, for all intents and purposes, Launcher3 with edits. Second, I decompiled the Pixel Launcher apk using apktool, enjarify and procyon. For the parts where they failed I used baksmali. I looked for the relevant parts, cleaned them up, and added them on top of the AOSP Launcher3 sources.
Isn't it super hard and time consuming? Not just the importing, but also to make sure it works fine...? I mean, even forking the repo you wrote (this: https://android.googlesource.com/platform/packages/apps/Launcher3/ ) has its own issues...
Is it legally ok (and ok with you) to use this code, and make a new launcher with a different package name, and publish it on the Play Store ? Will it have issues?
@AndroidDeveloperLB
Isn't it super hard and time consuming?
Super hard not really once you understand how to read gibberish decompiled code and smali. Time consuming yes, that's why I basically gave up on porting the Pixel 2 Launcher until Google publishes the 8.1 sources: https://github.com/amirzaidi/Launcher3/commit/2996ef58f8d8e3f149831a3d8933f5060f2f8ec7 (I'm not even at 50% I think..)
Not just the importing, but also to make sure it works fine...?
That's why I'm not going the lawnchair road, and I stick as close to AOSP as possible. That has always been my vision, Google knows best, they just need to give it to more people.
I mean, even forking the repo you wrote (this: https://android.googlesource.com/platform/packages/apps/Launcher3/ ) has its own issues...
You can get around those issues easily with some gradle file editing.
Is it legally ok (and ok with you) to use this code, and make a new launcher with a different package name
Based on Launcher3, of course that is legal, it's open source under Apache 2. Using Pixel Launcher assets like its XML and especially its drawables is a grey area and I hope I never have to find out if that is legal..
and publish it on the Play Store
Because of the way Google has hardcoded the Pixel Launcher package name in the Google App I need to use the same package name to get the weather widget to show. Therefore I can't release it in the Play Store.
Will it have issues?
You can test the APK for yourself, if you find issues that the regular Pixel Launcher doesn't have I'm interested to hear them. The only one I know is that I forgot to properly set the shadow for the date widget on the home screen..
By "Will it have issues?", I mean if it will have issues, in case I just change the package name, and now with the new information you wrote, I will probably have to also ditch the weather widget.
Since I already have Pixel Launcher (built in), how can I test your APK ? Maybe in emulator? I don't remember seeing a weather widget. Maybe because I barely used it (I use Nova Launcher for years).
Does it also have the side news page ? I wonder how Nova Launcher optionally has it, with an additional APK (not on Play Store) called "Nova Companion".
About your work, good job ! I remember I tried to do it for the previous version, and it was a hell to handle.
Is it really from Google? Google published the source of Pixel Launcher? Where?