Android搭載の「組み込み」システムを構築していますが、現時点では、オーディオモジュールのファームウェアの更新を実装しようとしています。
これを実行するバイナリがありますが、それを行うにはルートアクセスが必要です(そうでなければGPIOにアクセスすることはできません)。
これで問題は、実行可能ファイル(そしてその実行可能ファイルだけにフルパスを実行してはいけません)にルートアクセスを与えるように変更されました。
私は数日間これをやっていて、成功していないものをたくさん試しました。私はすでに試した
もの:AOSP - 実行ファイルをルートアクセスで実行するにはどうすればいいですか?
- https://stackoverflow.com/a/13892057/3801327どこかにあなたのシステムサービスを作成することができます読む
- (。私はそのためNo setuid/setgid programs on since Android 4.3のを考えています。このしなかったが、それでも何の根)ルートを実行するコードが必要です。 this guideに続いてシステムサービスを作成しますが、ルートアクセス権がないことがわかります。
私は試しにアイデアやものを使い果たしました。他に何ができますか?
EDIT
私は、rootとしてバイナリの実行を行うことができませんでしたが、rootアクセスがある場合、 init.rc からブートした後、シェルスクリプトを実行することができた、と輸出/パーミッションを変更私が必要とする特定のgpioのこれにより、後で必要とされるルートアクセスなしでアクセスできるようになりました。
私はLinuxの専門家ではありませんが、実行可能ファイル(chown)の所有者をinit.rcファイル経由でrootに変更しようとしましたか? – IIIIIIIIIIIIIIIIIIIIII
最初の箇条書きの点を確認します。 android_filesystem_config.hにエントリを追加すると、ルートが所有者になりました。 ls -lは次のように返します: "-rwsr-sr-x root root" –