Android – exec command android native code

adbandroidclinux

I am trying to launch an android applications from native code.

In adb shell we can launch applications using "am" command.

Link:

How to run (not only install) an android application using .apk file?

Is there any way to invoke this "am" command through C code?

I tried the following line but exec is returning -1:

  ret = execl("/system/bin/am", "start", "-a", "android.intent.action.MAIN",
 "-n", "com.android.settings/.Settings", (char *)NULL);

Is this right or not?

Best Answer

I got the answer... I 'exec'ed the shell itself and gave it the command... It worked

ret = execl("/system/bin/sh", "sh", "-c", "am start -a android.intent.action.MAIN -n   com.android.browser/.BrowserActivity", (char *)NULL);

Thanks to m0skit0, Padma Kumar, Yuri ...