Given I have root on and Android system and can access the shell, am I still restricted in what programs I can run?

0

Obviously, Android runs applications in sandboxed mode for security reasons, but if I have root and shell access on an Android device, can I then treat it as a regular linux distro, and run any program that I am able to download and install (assuming architecture/hardware compatibility)? Does Android have any system or kernel level limitations that would restrict certain things, or make it incompatible with common desktop linux distros?

EDIT: Indeed, my question wasn't written very well. Let me be more specific:

Can I run any natively compiled code, as long as it is compatible with the hardware architecture?

talloaktrees

Posted 2013-10-06T10:47:49.183

Reputation: 111

Answers

1

To answer the specific part of your question:

Can I run any natively compiled code, as long as it is compatible with the hardware architecture?

Yes, you can. However, you can do this even without root - as long as it comes as an APK. An APK can contain natively compiled code, and can be installed without root access. To create an APK with native code, you can use the "Native development kit" (NDK), which is free to download.

Of course, the natively compiled code will not be allowed to do certain things (such as deleting the OS) if it's not running as root. If running as root, the code will be able to do just about everything, just like on other OS like Linux or Windows.

For more information about native code on Android, also see this question: Android NDK limitations?

sleske

Posted 2013-10-06T10:47:49.183

Reputation: 19 887

0

To answer part of your question you can do this without root. Any APK is installable. (Well, not quite every single APK, but that's not the point)

Root allows you to use special permissions to do things you wouldn't otherwise be able to do. An example is a custom hosts file, or an alternate audio driver, or the removal of items of the system partition that cannot normally be deleted.

As far as kernels go, depending on what it is you would like to do, you may need to compile or flash a custom kernel that has the capabilities that you desire.

I am unsure why you are trying to compare android to desktop linux distros...

This answer may be vague, but with utmost respect, your question is also equally vague.

Harsha K

Posted 2013-10-06T10:47:49.183

Reputation: 459