2012-05-07 9 views
2

外部のフォルダーがAndroidソースにありますが、私が間違っていないと、U-HAL(ユーザースペースハードウェアアブストラクションレイヤー)を持つように設計されているため、OEMはGPLライセンスで外部に公開する必要のないドライバを書くことができます。 Androidは、私はより多くのフォルダは、Googleがそのようにfreetype、Yaffs2としてのAndroidの各バージョンでより多くのサポートを追加しているかもしれ外部フォルダに含まばかり見つける進化したようAndroidの「外部」フォルダ機能ですか?

Appsに外部フォルダロジックを使用する方法を知りたいですか?これはShared Libraries(.so)として生成されますが、順番にアプリは機能に使用されますか?

私は妥当あるこの全体のロジックは外部フォルダに埋め込むことができるかわからないし、これは、下位層(sysfsのかもしれない)と通信する方法? 外部フォルダーの使い方、機能、およびハウツーについて説明しているブログや文書はありますか?

ありがとうございました!

+0

を参照してください?私はあなたが* kernel *ソースの中で何かを見ていないと思うが、Android Spaceで使用される外部開発プロジェクトを含むAndroidソースのフォルダを見ていると思われる。この機能は、SDK&NDK apisに記載されている部分を除き、正式にアプリケーションで使用することはできません。文書化されていない部分の一部は、アクセス権の問題でブロックされている可能性があります。そのような「不安定な」apisに依存するアプリ。 –

+0

Chrisさん、Androidソース(** AOSP **)の** Hardware **フォルダを参照していましたので、カーネルではなくAndroidソースでドライバ機能を抽象化していることをお知らせください。 –

+0

あなたはこのAndroidのソースコードの説明を参照できますeLinux http://elinux.org/Android_Source_Code_Description –

答えて

5

外部フォルダは、主にユーザスペースのハードウェア抽象化を目的としていません。外部とは、外部のオープンソースライブラリを指します。つまり、Androidプラットフォームが依存しているライブラリで、Androidのオープンソースプロジェクトによって主に開発され、維持されているわけではありません。典型的な例は、ブラウザ用のWebkit、フォント用のFreeType、データベース用のSqlLiteなどです。 Androidに多くの機能が追加されているため、これらのライブラリの多くは外部に含まれています。

ユーザスペースハードウェアドライバを配置する場所をお探しの場合は、ハードウェアフォルダにこれらのいくつかが含まれています。これは、Androidハードウェア抽象化層(HAL)のソースも存在します。 デバイスフォルダーには、一部のデバイス用のハードウェア固有のソースも含まれており、このような追加コードを追加するのに適しています。 AOSP内のフォルダの一般的なレイアウトの詳細については

私の答えを正確にフォルダto this question

+0

素晴らしい!はい、私はあなたが言及した**ハードウェア**フォルダを参照していました。私の学習の中で、AndroidがGPLライセンスを画像に埋め込んでパブリックドメインから適切なコードを隠すことなく、Androidが基礎となるLinuxカーネルと正確にどのように通信するかを知ることは非常に興味深い分野です。 ** Hardware **フォルダに関する詳しい情報や、ブログや経験から何らかの事情で文書化されている場合、この機能を示すサンプルアプリケーションを提供してください。 –

+1

外部フォルダにはALSA、YAFFS2などの実装がありますが、これらのファイルはGPLライセンスを表していますか?もしそうなら、どうやってアンドロイドに入れることができますか? –

関連する問題