我已经下载了AOSP,但我不知道如何编译android shell程序,比如dex2oat,可以在Ubuntu中运行。
答案 0 :(得分:1)
dex2oat需要详细了解安装在特定目标设备上的系统,因此在开发系统上运行它通常没有意义。
例外情况是将其作为Android本身构建的一部分运行,例如来自AOSP源。在这种情况下,将创建工具的工作版本,并通过将其指向目标设备上将安装的相关详细信息来使用。
tl;没有设备的上下文,dr dex2oat没有意义;在AOSP构建系统已经处理的情况下,在开发机器而不是Android设备上运行它的情况可能很有用。
答案 1 :(得分:0)
为Android编译的工具通常会针对不同的架构(ARM而不是x86)进行编译,并且通常依赖于不同版本的系统库。您可能需要更改源代码和相关的构建选项,以便将某些东西从Android移植到您的主机,这可能是一个漫长的,但绝对不是不可能完成的任务。
我的建议是为您的主机查找已经由某人制作的版本 - 如果这没有帮助,请指向您的标准Linux编译器(可能在您的环境变量的某处定义,如果你已经建立了aosp),尝试运行make,并逐一修复你得到的错误。美好时光
那说:你可以在out / host / linux-x86 / bin /中找到为你的主机预编译的一堆Android工具,包括dex2oat。