SUID を設定するターゲットを追加して、 su-binary ( https://github.com/git-core/su-binary )に小さな変更を加えました。私が使用する Android.mk : http://pastebin.com/N0gMJT4u Android ソース ツリーのルートで make を実行すると、問題なく動作します。
$ make -j5
[...]
system/core/rootdir/Android.mk:42: warning: ignoring old commands for target `out/target/product/panda/root/init.rc'
echo "Setting SUID/GUID to su-binary"
Setting SUID/GUID to su-binary
Installing busybox
chmod ug+s out/target/product/panda/system/xbin/su
[...]
mm -B
external/su-binary で実行する
場合: http://pastebin.com/8HmUJBA0mmm external/su-binary
https://groups.google.com/forum/#!msg/android-building/dtNZFj5pe1w/PRY2MXADXG4Jによると
Ying Wang が提案する「make name-of-module」とは別に、ディレクトリ内で「mm」を実行して、そこに定義されているすべてのモジュールをビルド (およびインストール) できます。ただし、これはそれらのモジュールのみをビルドし、依存モジュールはビルドしません。したがって、依存関係を追跡する既存のツリーの増分ビルドにのみ役立ちます。
それを試しました:
$ rm out/target/product/panda/system/xbin/su
$ make external/su-binary
[...]
make: Nothing to be done for `external/su-binary'.
$ rm out/target/product/panda/obj/EXECUTABLES/su_intermediates/su
$ make external/su-binary
[...]
make: Nothing to be done for `external/su-binary`.
モジュールの依存関係は Android でどのように機能しますか?