私の携帯電話の Android には、/system/lib/hw
特に次のファイルがあります。
- センサー.exynos4.so
- センサー.smdk4210.so
これらの動的ライブラリは、コンパス、ジャイロスコープ、周囲光などのセンサーのチェーンのどこかにあります。
最初のファイル (sensors.exynos4.so) は、ディストリビューション自体 (i9100 用に CyanogenMod 10.1 を実行) からのもので、2 番目のファイル (sensors.smdk4210.so) は、携帯電話 (SHW-M250S、 i9100 の変種である「韓国語 S2」) を作成し、そこにコピーしました。
Question1: これらのファイルを使用しているのは何ですか?
システム内のすべてのバイナリとライブラリに対してldd
(実際には readelf または objdump) を実行しても、それらのファイルのユーザーは明らかになりませんでした。私の結論:誰かが動的リンク後の実行時にプラグインのようにロードする必要があります! しかし、誰/何?(ソースコードファイル名またはコードブラウザへのリンクをお願いします)
これらのライブラリのユーザーは、構成なしで最初から 2 番目に切り替えました (そこに配置した後)。この謎に迫っていきたいと思います。
Question2: これらのファイルのソースはどこですか?
ファイルには、(少なくとも) センサーの構成 (ボード上の位置、値の範囲、ステップなど) が含まれています。携帯電話用に正しいものを生成したい。両方のソースがあれば、簡単に実行できます。– CyanogenMod バージョンだけで、少なくとも必要な修正を推測できます。
ノート:
- 当て推量の回答はありません。
- 回答の一部が「バイナリ」の場合:
- CyanogenMod ソースまたはそれらをプルするスクリプトのブロブを教えてください。
- それらを使用する最初のオープンソースライブラリ/プログラムへのチェーンをたどってください。
- 質問は実際にはデバイス固有ではありません。– 任意のデバイスを念頭に置いて回答します。状況は似ているはずです (AOSP、AOKP、CyanogenMod など)。