android - OSGi - Activator can't access internal packages of the Bundle -
i'm trying run small emf-based application on apache felix. felix running on android device. i'm using eclipse without bnd , without maven.
i got emf bundle exports packages of:
org.eclipse.emf.common_droid-2.7.0.v20120127-1122.jar org.eclipse.emf.ecore_droid-2.7.0.v20120127-1122.jar org.eclipse.emf.ecore.xmi_droid-2.7.0.v20120127-1122.jar the structure of plugin-project:
[+] src ---> com.androidosgi.notifier ---> com.androidosgi.notifier.notification ---> com.androidosgi.notifier.notification.impl ---> com.androidosgi.notifier.notification.util [+] meta-inf ---> manifest.mf notification-1.0.ecore notification-1.0.ecorediag notification-1.0.ecorert notificationcomponent.xmi the activator in com.androidosgi.notifier.
the manifest.mf:
manifest-version: 1.0 bundle-manifestversion: 2 bundle-name: notification testing bundle-symbolicname: com.androidosgi.notifier bundle-version: 12.6.5 bundle-activator: com.androidosgi.notifier.activator bundle-vendor: homer simpson import-package: com.androidosgi.notifier.notification, com.androidosgi.notifier.notification.impl, com.androidosgi.notifier.notification.util, org.eclipse.emf.common, org.eclipse.emf.common.archive, org.eclipse.emf.common.command, org.eclipse.emf.common.notify, org.eclipse.emf.common.notify.impl, org.eclipse.emf.common.util, org.eclipse.emf.ecore, org.eclipse.emf.ecore.impl, org.eclipse.emf.ecore.plugin, org.eclipse.emf.ecore.resource, org.eclipse.emf.ecore.resource.impl, org.eclipse.emf.ecore.util, org.eclipse.emf.ecore.xmi, org.eclipse.emf.ecore.xmi.impl, org.eclipse.emf.ecore.xmi.util, org.eclipse.emf.ecore.xml.namespace, org.eclipse.emf.ecore.xml.namespace.impl, org.eclipse.emf.ecore.xml.namespace.util, org.eclipse.emf.ecore.xml.type, org.eclipse.emf.ecore.xml.type.impl, org.eclipse.emf.ecore.xml.type.internal, org.eclipse.emf.ecore.xml.type.util, org.osgi.framework;version="1.3.0" bundle-classpath: . export-package: com.androidosgi.notifier;x-internal:=true, com.androidosgi.notifier.notification;x-internal:=true, com.androidosgi.notifier.notification.impl;x-internal:=true, com.androidosgi.notifier.notification.util;x-internal:=true before installed bundle on osgi, "dexed" , added classes.dex bundle.
if try start get: noclassdeffounderror
any ideas or solutions ? :) thanks
emf not run on felix, or osgi framework other equinox. see following bug raised long time ago: https://bugs.eclipse.org/bugs/show_bug.cgi?id=328227
you have use re-packaging of emf osgi declarations properly. have on github stale now, i.e. packages old version of emf. see: https://github.com/njbartlett/emf-osgi
update: hasty, wasn't right answer. looks repackaged emf.
i suspect answer you're importing package com.androidosgi.notifier.notification , subpackages, packages inside bundle. should not import packages part of bundle.
Comments
Post a Comment