0

我下载了AOSP,但是不知道怎么编译android shell程序,比如dex2oat,可以在Ubuntu下运行。

4

2 回答 2

1

dex2oat 需要详细了解安装在特定目标设备上的系统,因此在开发系统上运行它通常没有意义。

例外情况是将其作为 Android 本身构建的一部分运行,例如来自 AOSP 源。在这种情况下,将创建工具的工作版本,并通过将其指向目标设备上将安装的相关细节来使用它。

tl;dr dex2oat 在没有设备上下文的情况下毫无意义;AOSP 构建系统已经处理了在开发机器而不是 Android 设备上运行它可能有用的情况。

于 2016-06-14T00:27:09.783 回答
0

为 Android 编译的工具通常会针对不同的架构(ARM 而不是 x86)进行编译,并且通常会依赖于不同版本的系统库。您可能需要更改源代码和相关的构建选项以将某些内容从 Android 移植到您的主机,这可能是一项漫长但绝对不是不可能完成的任务。

我的建议是为您的主机寻找一个已经由某人制作的版本 - 如果这没有帮助,请指向您的标准 linux 编译器(如果您已经构建了 aosp,可能在您的环境变量中的某个地方定义),尝试运行制作,并一一修复您遇到的错误。美好时光

也就是说:您可以在 out/host/linux-x86/bin/ 中找到一堆为您的主机预编译的 Android 工具,包括 dex2oat。

于 2016-07-07T11:12:25.717 回答