amcommunity / TipsAndTricks

Tips and tricks on App Manager
15 stars 1 forks source link

Why didn’t App Manager add support for Shizuku? #14

Open MuntashirAkon opened 12 months ago

MuntashirAkon commented 12 months ago

App Manager’s use of hidden API and privileged code execution has become quite complex and cannot be easily integrated with other third party apps such as Shizuku. However, the primary reason for this decision is based on the fact that Shizuku as a project (and software) is not a free and open source software. Though a user may easily be deceived by its use of Apache 2.0 license, the maintainers have added the following exceptions to the license:

  • You are FORBIDDEN to use image files listed below in any way (unless for displaying Shizuku itself).
    manager/src/main/res/mipmap-hdpi/ic_launcher.png
    manager/src/main/res/mipmap-hdpi/ic_launcher_background.png
    manager/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
    manager/src/main/res/mipmap-xhdpi/ic_launcher.png
    manager/src/main/res/mipmap-xhdpi/ic_launcher_background.png
    manager/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
    manager/src/main/res/mipmap-xxhdpi/ic_launcher.png
    manager/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
    manager/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
    manager/src/main/res/mipmap-xxxhdpi/ic_launcher.png
    manager/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
    manager/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  • For the project as a whole, it is not free. You are FORBIDDEN to distribute the apk compiled by you (including modified, e.g., rename app name "Shizuku" to something else) to any store (IBNLT Google Play Store, F-Droid, Amazon Appstore etc.).


As you can see, they have written about the non-free nature of Shizuku themselves in the second paragraph.

App Manager, on the other hand, is a free and open source software and published under the terms of GNU General Public License version 3 or later. Even then, we went beyond what you often see in most open source projects by ensuring that every aspect of App Manager is open source. This includes its name, source code, documentation, icons and artworks, translations, libraries, dependencies, sub-projects and tools. Through the secondary Telegram channel, we also regularly publish reports regarding translations and private communications. In my Open Collective page, you can also find transaction history either from Open Source Collective or other supported donation sources (the latter are published there manually through announcements). We do this because we believe in transparency, reproducibility and FLOSS ideologies, and Shizuku appears to be against some of these ideals. Remember that we do not support nor promote non-free projects or software without exceptions because they go against everything App Manager stands for. We never supported popular applications such as Google Play Store, and even we temporarily discontinued support for Aurora Store when its maintainer decided to publish non-free advertisements in the app (which were later reverted and App Manager to reinstated its support promptly). Now, this does not mean that we do not respect the people who develop those tools. We understand that they have a different ideology than us, and we respect their beliefs and ideologies. But this does not mean that we have to give up our own ideologies to include support for them. That being said, if you feel differently, unlike, say Shizuku, our copyleft license allows you to modify the project to suit your needs and redistribute it under any name or icons you want (but we suggest you not to use the reverse domain io.github.muntashirakon as this will cause confusion among the users).

ascendbeing commented 3 months ago

the thing is, if you could create a separate means of running shizuku as a separate downloadable module (like how another term and termux have various apps that share the same id but give more feature), you would be able to allow people to use it without it infecting the entire project, and other people would probably be happy to help maintain the separate module app as needed. the use case I find compelling for this is that on Samsung, on recent security updates, Samsung made it very difficult to enjoy using am. other apps such as shizuku work just fine but if I use am and get timed out (happens even with enable background service), I can never engage adb mode until restarting. shizuku, termux work just fine while am won't until restart I tried running the commands in any term. didn't help.

MuntashirAkon commented 3 months ago

the thing is, if you could create a separate means of running shizuku as a separate downloadable module (like how another term and termux have various things that do that), you would be able to allow people to use it without it infecting the entire project, and other people would probably be happy to help maintain the separate module app as needed. the use case I find compelling for this is that on Samsung, on recent security updates, Samsung made it very difficult to enjoy using am. other apps such as shizuku work just fine but if I use am and get timed out (happens even with enable background service), I can never engage adb mode until restarting. shizuku, termux work just fine while am won't until restart I tried running the commands in any term. didn't help.

If you face an issue, the best way to ask someone to fix it is to assist them with resources that allow them to fix it for you. Asking someone to give up their ideals simply because it serves your need is a selfish act. I hope you understand this. App Manager isn't just another utility app in the wild, it firmly stands on the realm of free and open source, which enjoys a pure cause-and-effect relationship. If it cannot stay this way, the project shall no longer have any reason to exist.

ascendbeing commented 3 months ago

the thing is, if you could create a separate means of running shizuku as a separate downloadable module (like how another term and termux have various things that do that), you would be able to allow people to use it without it infecting the entire project, and other people would probably be happy to help maintain the separate module app as needed. the use case I find compelling for this is that on Samsung, on recent security updates, Samsung made it very difficult to enjoy using am. other apps such as shizuku work just fine but if I use am and get timed out (happens even with enable background service), I can never engage adb mode until restarting. shizuku, termux work just fine while am won't until restart I tried running the commands in any term. didn't help.

If you face an issue, the best way to ask someone to fix it is to assist them with resources that allow them to fix it for you. Asking someone to give up their ideals simply because it serves your need is a selfish act. I hope you understand this. App Manager isn't just another utility app in the wild, it firmly stands on the realm of free and open source, which enjoys a pure cause-and-effect relationship. If it cannot stay this way, the project shall no longer have any reason to exist.

Yeah I am not asking or telling you to do anything. I am merely stating that unfortunately AM is currently nearly unusable on Samsung after around February 24 security update. I don't want you to risk your own ethics or your own sponsorships. furthermore, to really emphasize how I was not demanding, asking or telling you to do anything: consider that I do not know for certain the specific issue of Samsung. I posted a few replies on the issue thread about adb mode not working after you relaunch it. I can tell you after the Feb 24 security update came out around April, people in the mixplorer xda thread were talking about no longer being able to access app data dirs without shizuku. my point is that I was just throwing ideas out there, and I don't understand why you did reply here but not there, when there, I provided some receipts. and here, I was just throwing out an idea that may or may not (I thought it may, but perhaps I wasn't sufficiently clear that I was not demanding telling suggesting or asking or otherwise for you to do it; my emphasis was that if the infrastructure of maybe being able to extend the application and perhaps have additional apps sharing the ID that could do so, maybe community ppl could independently iron such a thing out.). anyway I love your project and appreciate all your work not trying to annoy you tbh I have seen some reports of people who unlocked this phone I'm on via 3rd party hardware. so sooner or later, this will probably become a non issue for me. but I mean, I think I'm more or less correct on this being a Samsung particular issue and lots of people have Samsung devices. I believe it is bad for the reputation of the project to not at least acknowledge for Samsung users that adb is an s-show.

What I will end this with is this. I said in the no adb relaunch issue thread that one of the potential causes of this is, perhaps system files got corrupted by running the phone with no free space for hours. I recently obtained a 256gb mSD. in the next week, I will see about either reflashing my current factory fw (not doing OTA in case it would block that unlock BL path), or I will do a software factory reset from Android or from recovery. If I find that the Samsung related adb relaunch issue still occurs thereafter, I will tell you in that thread. I don't do much coding so I can't help a lot but I can at least provide information. and I think that if you don't have any ideas on what's going on or any way it can be mitigated (possible to use a limited subset of adb functionality perhaps?), then I believe that for the reputation of this project, it would be a good idea to at least let people know it's a known issue. I'll let you know when I do this, should be in the next week. I have to set up 2 PCs first.

MuntashirAkon commented 3 months ago

I don't understand why you did reply here but not there, when there, I provided some receipts.

When I check GitHub notifications, it displays the latest notifications on top (there's no way to sort them in the reverse order). So, the notifications on the top get more priority. I may eventually get to your other post at a later time. I, unfortunately, was very busy in the last few months, and it became difficult for me to keep track of notifications.