-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Silent Installation without Root using Shizuku #102
Comments
You read my mind I was about to request the same. |
More than just people without root, Shizuku is great with root too as its a more secure method of handing out permissions to apps. |
This would be really nice. I have not figured out how to get silent install working on Droidify (yet) but SkyDroid works. |
Any updates of this? |
If i understood correctly: Neo-Store is gpl (see https://github.com/NeoApplications/Neo-Store/blob/master/COPYING ). Is Shizuku-License compatible with gpl? From https://github.com/RikkaApps/Shizuku#License :
|
The Shizuku API is MIT. |
I also recommend that this be added. Many apps from F-droid also use this, like there is Tachiyomi, Insular, Darq, Hail, Termux and these apps benefit greatly by enabling Shizuku api. https://github.com/RikkaApps/Shizuku#exceptions So, Shizuku is somewhat non-free so we can wait for a fully FOSS app to enable this feature. I guess this should clear why the devs aren't adding Shizuku support therefore this thread might be close or replaced with another issue title for a similar app. |
The closest thing that is Neo-Store can do right now are silent updates in Android 12 without needing root (#20) |
@prirai that doesn't make any sense, though. The API is 100% FOSS and licensed under the MIT/Expat License. |
Shizuku has been a must have since I stopped rooting my phone. So there's no harm in adding the feature. Droidify has it but neo having many features than that of droidify doesn't have it. It doesn't make sense. I want to switch to neo so bad but this thing alone is keeping me with droidify. |
At least for me, none of the installer options from Droidify works. I have tested all of them for a while, but absolute no update of an app, was updated automatically. Can you please tell me what I should choose (in Droidify), to get f-droid app updates installed, without that I have manually accept the update? |
@scientiac , @Offerel I use neo-store and have noticed that it suits silent updates. Not sure if it works on Android below 12. Silent updates doesn't work almost half the time though. |
@prirai I have android 13 and I don't see any "silent" installs |
This was already implemented in Droid-ify a long time ago (Droid-ify/client#14). Updates on this? |
Won't be added as long as Shizuku isn't free. |
It's not entirely free, but how does that have to do with anything? Provide the user with the option at least. |
I've been indecisive about which of the two I should use since they started as a single project and look very identical. Droid-ify it is then. |
isn't shizuku licensed under apache 2.0 with that single forbidden? I wouldn't see how that would make the app nonfree. |
@Xynonners not really, it's a custom license having restrictions. The one restriction blocking this is the one realted to forbiding public builds and distribution of the app, with that it's not free in any sense, it's just code available. |
@meow-purr in a way. The license says so, but the TOS disagrees a little. When I last checked there was something with "thou shalt not distribute our binaries" or so.
Now tell me how "it is not free" matches the license specified.
To highlight: the right to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form is explicitly granted by Apache-2.0. Forbidding the distribution of self-compiled/modified APKs (aka "Derivative Works") contradicts that. Which is why it's not entirely clear – as either the license voids the TOS, or the TOS the license. The TOS is clearly violating freedom-2 (The freedom to redistribute copies; counting starts with freedom-0 here). Before you ask: I distribute their APK, and to make sure explicitly asked their permission. But it's quite dark gray area. In dubio pro reo (IANAL) I decided this way; F-Droid would definitely decide the other way as rules are stricter there. |
PS in your issue there, I've linked the answer. The reason specified was what drove my decision. I fully understand the reasoning, there are far too many copycats making money of other people's work. Just recently we succeeded in having Google deleting a developer account that had some 20 FOSS apps, which their resp. developers explicitly did not put on Play, "enriched" by ads and trackers in their list. |
It doesn't need a lawer to clear the situation, it's clear that the dev(s) has added an exception of the license aka. customized it, blocking the aforementioned freedom-2. I don't see a need to discuss any further, concerning who have rights and what not.. I respect their wish (and understand the concern partialy - although it's always questionable if this added exception would stop the misuse of the code) and decide for this project to avoid supporting of this API. |
Funny thing is: I've just updated my local clone of fdroiddata from upstream master, and noticed this line:
And now I'm puzzled. RepoType: git
Repo: https://github.com/RikkaApps/Shizuku
Prepare: git -c 'url.https://u:[email protected]/[email protected]:' submodule update --init Seems like the API is deemed FOSS, as the TOS is just affecting the APK? 🤔 |
@meow-purr you cannot simply take code from a developer and change the license. You have to honor the license they put it under. You can use e.g. MIT code in a GPL app (as GPL has the stricter requirements), but not vice versa. That said, the said phrase indeed seems to only affect the app, not the libraries (I've just checked with the team). |
Silent updates work on Android 12 and above when using neo-store. Not sure if it is working for everyone. |
No, silent updates never worked for me with Android 12 or 13. I always have to click on "update all" to confirm a update start. Only when this confirmation is also omitted, it is an automatic silent update. |
I have tested some apps again today. I have installed apps with an older version. After installation was finished, i got immediately a notification that some apps have a new version. I don't touched this notification and don't opened NeoStore manually. After some time (don't know exactly how long, maybe some hours), the app was updated. This was the first time I have seen that. My phone is on Android 13, I don't know which SDK this is or which target SDK is needed to get this working. One which works, is marked with "Target SDK 33". Im happy with the current result and that it worked in this case the first time. |
The limitation of the targetSDK of the to-be-updated apps is a system-side one, which unfortunately can't be overwritten, but luckily must of FOSS apps are following even when slowly… |
Example pr for aurora store https://gitlab.com/AuroraOSS/AuroraStore/-/merge_requests/206/diffs |
Does something like this be used? https://github.com/depau/fdroid_shizuku_privileged_extension |
As already said multiple times, it's about Shizuku's license and not some technical aspects, an implementation isn't an issue at all! |
@machiav3lli as stated above, doesn't the license issue only affect the Shizuku app itself but not the library? Of course if your argument is the app would still be needed to make this useful (is that so?), the point is clear. |
Very sorry, I've been trying to learn about licenses but getting a bit confused. Are you saying the code is copy left but the documentation isn't? Droidify uses Shizuku and looks like it has the same license although presumably there's something im missing? Is it a problem for someone to fork under the same license Neo Store and do what Droidify have done calling the Shizuku protocols? Sorry, if my confusion is complicated to answer. I've tried looking up about the licensing but got confused with all the information looping round and round |
You must differentiate between the Shizuku APP (which to my understanding handles the actions) and the Shizuku LIBRARY. The latter is what is implemented in apps to communicate with the "core" in the Shizuku app. And that library is not disputed. Just the Shizuku app itself is. So to my knowledge, the library is libre, but it needs to communicate with the Shizuku app. If the Shizuku app is not installed on the same device, the library would have no effect. But 1) IANAL and 2) I didn't really deeply dig into it. |
@PeterKW it's not a license-issue in the conventional sense of such, it's the choice to not "nudge" the users into using a non-libre framework. Surely there may be individuals that may have another stance and decide to fork NS, but that's the freedom a libre project provides. @IzzySoft exactly, it's the dependence on Shizuku app. One may argue: "but it'd be just optional", I'd say: options create nudges and discourses. |
I would like to add my voice to them request for this. I see the discussion around it but it is supported from 4.2.4 in Aurora Store and this is on F-Droid and we know that F-Droid has very strict requirements so in my opinion there should be no issue in implementing the library within Neo Store |
@mattdale77 I think you misunderstood the blocker. It's not whether this is an F-Droid blocker or not, it's about Shizuku being not free (freedoms 2 & 3 are infringed). |
@meow-purr I think you misunderstood what SUI is. SUI requires Magisk/Zygisk, which means the user already have su/root, which NS already supports as an installer. |
Droidify can use Shizuku for FDroid installer |
You're facing to its API, not the implementation. And you're not using pure-AOSP, right? |
At least, would it be possible to provide a setting to select the installer app? Then, in that case one could use a package installer like pi in order to use shizuku or root as an installation method. I think this is probably the way to go forward, avoiding any dependence on non-free software, while allowing the user to opt in to using alternate installation methods. |
@CompeyDev Root is supported since ever and Muntashir's App Manager installer is supported on 1.0.0 (still in beta) |
The whole point of shizuku is to avoid root access, so I don't think that's what people want. Never heard of the latter will give the build a test run and lyk. |
Any CI builds I can get my hands on? Or would I need to manually compile it? |
Test builds are mainly available on the community channels on Telegram and Matrix. On the shizuku thingy: I don't think that repeating the obvious/said helps anyone further... |
Even if our free-developer is using pure-AOSP, there are binary vendor firmwares being non-free. Not to mention the AArch64 ISA and SoCs from Quaxxmm, Mexxxxek, Saxxxng, Apxxe, etc. Is GitHub ever free? It must be the great sacrifice for our free-developer to stand on this free-world and live on the free-energy. F. |
Maybe your poetic self can find sometime to fork (and maintain) the project and add the support it wishes. |
Considering Dhizuku? |
@xiaoxiyao Already had the discussion in the community groups and with other devs. It's just a thin layer over using Shizuku. |
Is there a way to do this without Shizuku on Android 15? I want silent background updates to my applications like with Droid-ify and Google Play. |
Android from 13.0 already allows for silent updation if the app you're trying to install was updated or installed before from the same store. So it will be taken care of automatically. However first installation of any app will be manual. |
For example, SkyDroid allows for this (could use it with root as well):
The text was updated successfully, but these errors were encountered: