2011-11-15 11 views
2

誰かがアンドロイドフレームワークに外部Javaフレームワークを組み込み、カスタムアンドロイドフレームワークの一部としてコンパイルする方法について教えてもらえますか?外部JavaライブラリをカスタムAndroidフレームワークに追加するにはどうすればよいですか?

アイデアは、この外部フレームワークを私のカスタムアンドロイドフレームワークの一部にして、それを他のプロセスが使用するためのアンドロイドサービスとして公開することです。私が何をしたか本質的に

がある - framework/base/core/java/android/

  • 編集に移植されたフレームワークからSRCディレクトリ(すべての外部jarファイルを含む)をコピーしたJavaフレームワーク
  • のアンドロイドポートをチェック

    1. コピーされたライブラリー
    2. 実行が

    されていることを確認呼び出しするためのフレームワークでActivityManagerこれはAndroidフレームワークを編集するための正しいアプローチですか?以来、私は外部のプロジェクトのjavaファイルと関連する外部のjarファイルをAndroidのフレームワークの中に入れているので、jarファイルをdexに変換する際に失敗すると思われます。

    誰かが、Androidフレームワークの内部とAndroidフレームワークを編集する方法について、利用可能なリソースについて教えていただけますか?

    中国の北京で今年のMarko GargentaプレゼンテーションからyoutubeでTutorial: Android Internals - Building a Custom ROM, Pt. 2 of 2を確認しました。しかし、彼はそれを作成しなかった(すなわち、外部フレームワークまたはジャーを追加する)こともできなかった。

  • 答えて

    4

    まず、私はAndroidのビルドプロセスにあまり経験がありません。そのため、より良い解決策があるかもしれませんが、少なくともAndroid 2.2の場合はこれがうまくいくはずです。

    私は新しいソースフォルダ作成

    • ...あなたは、ソースコードの変更のためのEclipseを使用して、すでに成功make -j4を実行することを、想定しています。このフォルダにすべてのJavaソースファイルexternal/<your-library>/src
    • コピーを。
    • を開き、次のファイルを作る:<android>/frameworks/base/Android.mk
    • # Build ext.jarを検索すると、以下のように、あなたのライブラリーを追加します。

    • 今、あなたは、Androidフレームワークからこれらのライブラリにアクセスすることができるはず...
    • 最後に、make -j4 extを実行して、外部モジュール(
    • )または変更したすべてのファイルをビルドします(以前のビルドが/out/に存在する場合)。
    +0

    ライブラリージャーのためのこの作品は、例えば、私は、Apacheコモンズの数学ライブラリを含めたいだろう... – pypmannetjies

    0

    README.txt gitリポジトリからhttps://android.googlesource.com/platform/vendor/sampleにするのがよい例です。例を見るためにそれを複製することは良いことです。

    基本的にjarファイルを作成してファイルシステムに追加し、/system/etc/permissions/にXML設定を追加し、<uses-library>をapkのAndroidManifest.xmlに宣言する必要があります。

    私の場合、<uses-library>を間違った場所(<application>にない)に追加することに問題がありました。

    だから、との結果を確認するために良いことだ:

    $ aapt dump badging Foo.apk | grep uses-library 
    uses-library:'android.foo' 
    
    関連する問題