On Wednesday, July 13, 2011 4:03:46 PM UTC-4, Zhao Wang wrote:
So these lead me into suspecting that whether my application has the
> true root permission as I do in the shell. Even if I use an exec("su")
> beforehand and the process's return shows that it succeeded getting
> super user, I still get nothing from the "maps" file under other
> processes.
>
There is no means by which a running android application - or for that
matter an application on a more ordinary unix-like OS - can become root.
Unlike with other unixes, it's also extraordinarily difficult and
inefficient to start an android application initially running as root.
Basically, you aren't "supposed" to do things that require root permission,
and on a consumer ("secured") device you cannot do so.
On a development or "rooted" device, you may be able to launch a helper
process as root and have that do something for you. Often people will
launch a root copy of the shell or a built in command using a hacked "su"
command that has been made available to applications, possibly after some
gatekeeper code. The key thing to realize though is that "su" is not
"sticky" - only the command run by "su" runs as root. Typically, depending
on the capabilities of your su program you would either pass it the name of
the command to run (such as 'cat') and its arguments, or just the name of
the command and pipe the arguments into the stdin of the resulting process.
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-kernel