そのため、Android gitのさまざまな部分のコードを見てきましたが、それらの多く(カメラ、メディアプレーヤーなど)をロードしてコンパイルしようとすると、SDKのクラスや部分を参照します。 SDKのバージョンを2.2に更新しました。(たとえば、NativeAllocのビットマップ構成オプション)
これらが開発者に配布されるSDKに含まれていない理由はありますか?
そのため、Android gitのさまざまな部分のコードを見てきましたが、それらの多く(カメラ、メディアプレーヤーなど)をロードしてコンパイルしようとすると、SDKのクラスや部分を参照します。 SDKのバージョンを2.2に更新しました。(たとえば、NativeAllocのビットマップ構成オプション)
これらが開発者に配布されるSDKに含まれていない理由はありますか?
ブラウザ、カメラ、メディアプレーヤーなど、Android Open Source Project(ASOP)からアプリケーションをコンパイルする場合は、LinuxまたはMacでビルドする必要があります。Windowsでソースをコンパイルすることはできません。
ソースとOS要件の要件を構築するための情報については、Androidソースコードの取得を参照してください。
これらが開発者に配布されるSDKに含まれていない理由はありますか?
「これら」が何であるかに応じて、いくつかの可能性があります。
ほとんどの場合、まだうまくやっていないという印象を受けます。「まだ理解している」とは、彼らがずっと使い続けたいクラスとメソッドのシグネチャを完成させていないことを意味します。コアAndroidチームは、リリース間のAPI破損の量を最小限に抑えようとし、通常は成功します(破損は、メソッドシグネチャの変更よりも動作が変更される傾向があります)。与えられたコードの塊に対してすべての利害関係者から賛同を得るためには、かなりの努力が必要です。Androidには大量のコードがあり、そのうちのいくつかはおそらくSDKに含まれる可能性がありますが、Androidの機能を向上させるのに比べて、その雑用に割り当てられる時間はそれほど多くありません。
場合によっては、答えはセキュリティです。安定したAPIがないことを除けば、APIをどのように保護するかがまだわからないため、ファームウェア開発者だけが利用できるようになります。
いくつかのケースでは、答えはパフォーマンスである可能性があります。必要なユースケースが適切に調整されていますが、外部の開発者が試してみて、最適化されていない場合もあります。
他にも考えられる理由があると思います。