Androidをカスタムアームデバイスに移植するには、どのような知識/専門知識が必要ですか?
質問
現在Linuxカーネルとmicrowindowsウィンドウシステムが実行されているシステムで作業しています。現在のLinuxシステムドライバのコードは入手可能です。趣味のプロジェクトとして、Androidを移植したいです。
linux-kernelのすべての理解が移植に必要なものを教えてください。
理解を深めるための参考文献(書籍、チュートリアル)を教えてください。
ありがとう、サニー。
PS Linuxの基本的な理解があります。
デバイスの構成は
450 Mhz ARM9, 64 MB RAM, 256 MB NAND 480x272 resolution.
解決
Androidの移植を開始するには、Linuxカーネルの変更に関する基本的な理解が必要です。また、Linux以外のどのドライバーが必要かを理解する必要があります。 linuxfordevices は、AndroidのためにLinuxカーネルに変更された内容を説明しています。また、行った変更の差分のような便利なリンクも提供します。...
Androidアーキテクチャでは、YouTubeプレゼンテーションAndroid Architecture] 1 が役立ちました。
ディスプレイの解像度に問題があると予想されます。 Androidアプリケーションでは、多くの標準解像度が必要です。最初のステップとして、表示を次に小さいサイズに制限し、起動して実行したらこれを改善することをお勧めします。
私はe-readerで使用するためにAdroidを調べてきたので、自分の移植に非常に興味があります。このため、Androidハードウェア(移植)で(ウェブベース)トレーニングに登録しました。 。このテーマで本などを探しましたが、見つけた本はAndroidの使用とアプリケーションの作成に関するものでした。
他のヒント
ボード上ですでにLinuxが稼働しているので、おそらくカーネルを深く理解する必要はありません。ただし、次の追加のAndroid固有の機能を含めるには、変更する必要があります。これは、いくつかのパッチを適用するのと同じくらい簡単かもしれませんが、より複雑になる可能性があります。
- 低メモリキラー
- Android Logger
- Android共有メモリサブシステム(Ashmem)
- Androidの電源管理(ウェイクロック)
- バインダーIPC
ユーザー空間では、AndroidはSurface Managerと呼ばれる独自の表示ソフトウェアを使用するため、Nano-X Window System(以前のMicrowindows)は使用しません。
ポートに関係する可能性のあるものの概要については、 Androidポーティングを提供します。ガイドを読む。
有用なヒントを含む他のARMベースのデバイスへのAndroidの移植に関するWebサイト:
- Beagleboard (Cortex)
- Embinux
- ズームOMAP (Cortex)
- Nokia Internet Tablet (ARM9E)
- Neo 1973 (ARM9TDMI)
- Intel Bulverde評価ボード(XScale)
- シャープザウルスSL-C760 ( XScale)
支援できるオンライングループ: