我想弄清楚如何用超级用户编译AOSP。我被指出这个问题: Build Android with Superuser。说明似乎有点不清楚,我也不明白到底发生了什么。它似乎也谈到这允许Android应用程序的su权限。我不是想在应用程序上得到这个。我在主android源代码中运行一些代码时试图获得root访问权限(特别是试图在DisplayDevice.cpp中打开一个套接字)。
我在这里问了一个类似的问题(Create a socket in android code(not in android application) getting Permission Denied)。我认为既然我已经走上正轨,现在知道我需要以超级用户身份编译代码,我应该问另一个问题。
我已根据第一个SO问题的说明将su二进制代码添加到我的AOSP代码中。我也改变了我的init.rc,但我觉得我需要做一些事情才能让这些改变也通过。在这个问题中没有谈到这一点。现在,当我运行make su-binary时,我得到“make:没有什么可以为'su-binary'做的。”我认为这里出了点问题。我正在使用m-ric指定的makefile。我也不确定我是否需要Superuser.apk,因为我没有使用Android应用程序中的代码。
如果有人能指出我正确的方向,我会非常感激。如果需要,我很乐意提供更多信息。
答案 0 :(得分:1)
实际上,我可以解释如何使用超级用户构建Android,但我认为你没有这个用于你的任务。问题是运行DisplayDevice.cpp
代码的进程不属于inet组(通常是gid = 3003)。
我对Android的显示系统并不熟悉,但如果您想进行实验,我会建议您执行以下步骤。
答案 1 :(得分:0)
现在我运行make su-binary 我得到“make:没有什么可以为'su-binary'做的。”
如何更改su.c的示例可以在这里找到:https://code.google.com/p/aosp4nexus5/wiki/AOSPforNexus5#Debugging_a_C_file
实际上只添加了日志记录,但它与更改setgid()和setuid()调用相同。 : - )