-
Notifications
You must be signed in to change notification settings - Fork 245
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
Question: are there limitations of using Shizuku? #15
Comments
You can write ANYTHING in UserService. This is the fifth time I'm talking about this. RTFM, pls Shizuku-API/api/src/main/java/rikka/shizuku/Shizuku.java Lines 563 to 598 in fcb5cdc
|
I've asked in other places too, and as opposed to what you guys told me, Shizuku cannot replace su commands to work exactly like on a rooted device: As for UserService, I don't understand how to use it. You told me to just check the sample. The sample doesn't reach a class like you've mentioned. It reaches services. |
That is because Shizuku is not designed as an in-place replacement for If you're a developer who only understands shell commands and doesn't have any idea about how those commands work, I'd recommend keeping using libsu for your application. Switch to Shizuku won't make any improvement on your application if you are persistent on just simply executing those commands with Shizuku. |
And using |
@haruue There are some functionalities that rely on having a rooted device. I was hoping this library could help with this, but it's not clear from the repository's description what it can and cannot do. Whether Shizuku was designed to be a replacement to "su" or not, you told me it's possible, so I wanted to ask further because it's still weird that you can perform all "su" commands on a non-rooted device. As for why I prefer to use commands, it's just that they are already there, so having to handle rooted-device and non-rooted-device would be the same (if it could do what I thought it might be able to do). It's better to start from small and then improve, then to work on almost all of the functions and then figure out in the end (reaching a command that can't be handled) that you won't be able to use this library at all (a huge waste of time). |
Yep, It would be possible to do this with Shizuku, but only for an experienced developer, not for those who cannot understand AIDL and cannot even RTFM.
If you just want to verify if a program works with Shizuku, you can use rish to execute required commands in terminals (such as Termux). I noticed you said you don't know what is rish in other issues. Please install Termux and setup Shizuku on your device, then use this feature (see the screenshot below) to export a script named
Our time is also not free, and it is not our duty to teach you everything you don't know and help you implement your app hand-by-hand. |
@haruue I didn't request anyone to teach me. I only asked a simple yes/no question, and still I haven't gotten a yes/no answer.
I'm sure there are plenty more, and I hope you now understand that it's best to first check if a general solution (which works even on a non-rooted device, yet will give the exact same results as on a rooted device, no matter which arguments I provide to the command) can be used that can cover them all with minimal code (meaning just run the command and give me the output of it), which is what I asked about. You assume I didn't read but I have. Are you now saying that on the reddit post and on the libsu post, they are also wrong? If so, it only shows you that like me, people (who most probably have much more knowledge/experience of Shizuku) don't consider Shizuku as one that can fully replace what a rooted device can do using "su" commands., which means the manual isn't sufficient to explain what Shizuku can and cannot do. |
You are blocked from RikkaApps for your stubbornness. |
I've noticed that the demo shows only about getting the instance via
SystemServiceHelper.getSystemService
.But what about other types of classes? For example Singleton classes like
Runtime
, which you need to reach its instance via a static function (Runtime.getRuntime()
) ?And what about classes that need to be instantiated by the library, including those that have multiple arguments for the CTOR (such as
ProcessBuilder
, which is created viaRuntime.getRuntime().exec
)?Are both of these possible to reach?
The text was updated successfully, but these errors were encountered: