Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 2

up vote 1 down vote accepted

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?

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.