this post was submitted on 11 Oct 2023
11 points (100.0% liked)

Ask Android

2176 readers
2 users here now

A place to ask your questions and seek help related to your Android device and the Android ecosystem.

Whether you're looking for app recommendations, phone buying advice, or want to explore rooting and tutorials, this is the place for you!

Rules
  1. Be descriptive: Help us help you by providing as many details as you can.
  2. Be patient: You're getting free help from Internet strangers, so you may have to wait for an answer.
  3. Be helpful: If someone asks you for more information, tell us what you can. If someone asks you for a screenshot, please provide one!
  4. Be nice: Treat others with respect, even if you don't agree with their advice. Accordingly, you should expect others to be nice to you as well. Report intentionally rude answers.
  5. No piracy: Sharing or discussing pirated content is strictly prohibited. Do not ask others for a paid app or about how to acquire one.
  6. No affiliate/marketing links: Posting affiliate links is not allowed.
  7. No URL shorteners: These can hide the true location of the page and lead people to malicious places.
  8. No lockscreen bypasses: Please do not comment, link, or assist with bypassing lock screens or factory reset protection.
  9. No cross-posting: Please take the time to make a proper post instead of cross-posting.
Other Communities

founded 1 year ago
MODERATORS
 

Repost because I posted to the wrong community :)


I haven’t really kept up with android stuff for a while, but it looks like a handful of recent FOSS apps are using Shizuku for cool functionality. The new SDMaid uses it, and so do apps like Lemmy Redirect. In the list of apps, there’s also F-Droid, but I don’t really know what that’s for just yet.

What is it, and how does it work? Does it allow you to do anything you could otherwise need a Rooted device for? In that sense, is it unsafe / something Google will try to block in the future?

https://github.com/ThePBone/awesome-shizuku

all 7 comments
sorted by: hot top controversial new old
[–] [email protected] 7 points 1 year ago (1 children)

It's not unsafe. You have a version on playstore. Basically, it allows you to use privileged APIs which would need manually using ADB or root. Some of my apps like Darq, droid-ify, takostats, and lemmy-redirect use it perform actions like enabling link handling, performing app installation, applying force dark mode without requiring root, etc.

Here's the description pulled from fdroid:

using system APIs directly with adb/root privileges from normal apps

When developing apps that requires root, the most common method is to run some commands in the su shell. For example, there is app uses pm enable/disable command to enable/disable components. This method has very big disadvantages:

• Extremely slow (Multiple process creation)

• Needs to process texts (Super unreliable)

• The possibility is limited to available commands

• Even if adb has sufficient permissions, the app requires root privileges to run

Shizuku uses a completely different way. The most important feature Shizuku provides is something like be a middle man to receive requests from the app, sent to the system server, and send back the results. To the app, it is almost identical to the use system APIs directly. But it's much faster as it hooks into the system directly.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (2 children)

Note that it is, however, unfree software, not FOSS:

  • 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.).
[–] [email protected] 2 points 1 year ago (1 children)

The readme says licensed under Apache-2.0. The license itself allows modification and redistribution with some conditions. unless only parts of the source code are free. It should not be forbidden just because he says so. He does say image files may not be used unless for displaying shizuku. Regardless, it leaves a sour taste in the mouth.

[–] [email protected] 2 points 1 year ago

The readme also states that you are not allowed to distribute built artifacts and that makes it unfree.

Free software OTOH must allow you to do anything you want with the covered software as long as you fulfil the duties the license requires of you.
See for instance requirement 3 of the OSI's Open-Source Definition.

I've opened a discussion on this topic upstream with more thorough explanations and alternatives: https://github.com/RikkaApps/Shizuku/discussions/359

[–] [email protected] 3 points 1 year ago

Thanks for moving this over!

[–] [email protected] 2 points 1 year ago

It's not as powerful as root but it does give you more capabilities. You would need to check the individual app for what functionality and limitations it has with Shizuku.