2010-10-31 6 views
3

J'ai un programme C que je peux exécuter mon téléphone Android enracinée. Cependant, pour fonctionner correctement, le programme doit être exécuté en tant que superutilisateur. Je souhaite maintenant appeler une méthode de ce programme en utilisant l'interface Android NDK. Que dois-je faire pour que le code natif s'exécute en tant que superutilisateur?Autorisations de superutilisateur NDK Android

+0

Regarder http://markmail.org/message/6nl6xzck3bcxe676#query:android%20permissions%20ndk+page:1+mid : wypyp3oyj2mtzc57 + état: résultats, il apparaît que la partie native des applications (ie le C) s'exécute avec les mêmes permissions que le reste de l'application, (ie la partie Java). La question est alors comment spécifier que l'application elle-même devrait être exécutée avec les permissions root. Est-ce quelque chose dans le fichier manifeste? – landis13

Répondre

0

Vous devez exécuter le programme su, puis le scripter (en écrivant sur son entrée standard) pour exécuter votre programme. Sur certains appareils rootés, cela va "juste marcher", et sur d'autres (la plupart, vraiment), il va générer une activité à partir d'une application appelée SuperUser pour demander à l'utilisateur s'il devrait être autorisé.

0

Je ne sais pas si vous avez vu ce lien, mais serait répondre à votre commentaire http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access-in-your-app/

+1

Mon expérience est que cela n'a pas aidé. J'accorde l'autorisation super-utilisateur à mon application java en suivant le lien ci-dessus et une fois accordée, essayez de charger un module c. Je reçois la permission refusée de l'intérieur du code C. –