0

私はOSGIとAndroidについて多くのことを読んでいますが、私の質問にはまだ答えがありません。私は現在、OSGIの実装として基本的にequinoxを使用するデスクトップ用の小さなアプリケーションに取り組んでいます。共通の機能については、独自のOSGIバンドルを作成し、サービスレジストリを使用して実装を取得し、残りは通常のpojoです。

apache-felixを使用してAndroidで通常のOSGIバンドルを実行することは可能ですか?

Androidでapachefelixを起動しようとしているのに、まだ例外が発生しているため、質問しています:java.lang.NoClassDefFoundError:org / apache / felix / main / Main

本当にありがとう

4

3 に答える 3

1

EZDroidをご覧ください

(また、ProSystにはAndroid OSGiフレームワークがありますが、あなたが尋ねたように、それがFelixであるかどうかはわかりません)

いくつかのリンク:

于 2012-05-24T09:53:25.657 に答える
1

Android での Felix の場所に関しては、/data フォルダーに配置する場合と /sdcard に配置する場合では大きな違いがあります。Android 用の Felix の最新の移植についてはあまり詳しくありませんが、場所に基づくいくつかの権限が必要になる場合があります。解決策を試して提供するために、観察した例外を含む Logcat の一部をここに投稿することをお勧めします。おっしゃる通り、バンドルは Felix 固有の API に依存していないため、ProSyst OSGi Runtime for Android を確認することをお勧めします。Android Market: OSGi Mobileで無料で入手できます。バンドルを SD カードに配置し、UI からインストールできます。それが役立つことを願っています!

于 2012-06-15T07:58:23.673 に答える
1

適切なバージョンの Apache-Felix を使用しましたか? Android では、すべての jar を事前に dex 形式に変換する必要があります。これは、Android の Dalvik VM が理解できる唯一の形式です。そうしないと、この java.lang.NoClassDefFoundError が発生します。

于 2012-05-24T12:22:29.410 に答える