AndroidでOSGI Felixフレームワークを起動しようとしています。このリンクをたどったところ、うまくいきました。バンドル ディレクトリに、Android で起動するために以前に作成した Eclipse プラグイン プロジェクトであるバンドルを追加しました。start() メソッドに「Hello」メッセージを持つアクティベーター クラスが 1 つだけあります。ここで、Android シェルで Felix を起動すると、追加したバンドルが問題を引き起こし、Android で起動できないことに気付きました。Felix を起動すると、次のエラーが表示されます。
ERROR: Error starting file:bundle/HelloforAndroid_1.0.0.201307312320.jar (org.os
gi.framework.BundleException: Activator start error in bundle HelloforAndroid [5
].)
java.lang.UnsupportedOperationException: can't load this type of class file
at java.lang.VMClassLoader.defineClass(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:292)
at org.apache.felix.framework.searchpolicy.ContentClassLoader.findClass(
ContentClassLoader.java:223)
at org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClassF
romModule(ContentClassLoader.java:94)
at org.apache.felix.framework.searchpolicy.ContentLoaderImpl.getClass(Co
ntentLoaderImpl.java:166)
at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassO
rResource(R4SearchPolicyCore.java:471)
at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(
R4SearchPolicyCore.java:185)
at org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4Se
archPolicy.java:45)
at org.apache.felix.moduleloader.ModuleImpl.getClass(ModuleImpl.java:216
)
at org.apache.felix.framework.Felix.createBundleActivator(Felix.java:346
8)
at org.apache.felix.framework.Felix._startBundle(Felix.java:1649)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1578)
at org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:11
72)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:265
)
このバンドルの何が欠けているか、または間違っているかを理解するのを手伝ってくれる人はいますか? ありがとう。