0

所以我一直在查看来自 Android git 各个部分的代码,但是当我尝试加载和编译其中的许多(相机、媒体播放器等)时,它们引用了 SDK 的类和部分,这些部分甚至不可用我的 SDK 版本更新到 2.2。(例如位图配置选项 inNativeAlloc)

是否有理由认为这些不在提供给开发人员的 SDK 中?

4

2 回答 2

2

如果您想从 android 开源项目 (ASOP) 编译应用程序,例如浏览器、相机、媒体播放器等。您必须在 Linux 或 Mac 上构建。您无法在 Windows 上编译源代码。

有关构建源代码和操作系统要求的信息,请参阅获取 Android 源代码

于 2010-06-18T18:01:35.517 回答
0

是否有理由认为这些不在提供给开发人员的 SDK 中?

有几种可能性,取决于“这些”是什么。

我的印象是,大多数情况是他们根本还没有解决这个问题。通过“还没有解决”,我的意思是他们还没有最终确定他们想要一直坚持的类和方法签名。核心 Android 团队试图将不同版本之间的 API 破坏量降至最低,并且通常会成功(破坏往往是更多的行为变化而不是方法签名的变化)。获得所有利益相关者对给定代码块的支持需要相当大的努力。Android 中有大量代码,其中一些可能可以放在 SDK 中,但与先进的 Android 功能相比,分配给这些杂务的时间只有这么多。

在某些情况下,答案是安全性——除了没有稳定的 API 之外,他们还不知道如何保护它,所以他们只提供给固件开发人员使用。

在少数情况下,答案可能是性能——他们适当调整了所需的用例,但外部开发人员可能会尝试其他未优化的用例。

我相信还有其他可能的原因。

于 2010-06-06T18:29:02.263 回答