You are running into the localization part of the manifest. You can use % to localize names inside the manifest. I think the problem is the location of the localization properties inside the bundles which might need to be in a different place to work with Felix/OSGi. As I said, i don't have the time right now to look it up - hence, it might be a bug as well :-)
regards, Karl On Thu, Feb 4, 2010 at 12:48 PM, Jackson, Bruce <[email protected]> wrote: > I guess my question is whether this is actually a Felix bug. The OSGi spec > says: > > 3.2.1.13 Bundle-Name: Firewall > The Bundle-Name header defines a readable name for this bundle. This should > be a short, human-readable name that can contain spaces. > > 3.2.1.18 Bundle-Vendor: OSGi Alliance > The Bundle-Vendor header contains a human-readable description of the bundle > vendor. > > Now, while those entries are a bit odd having % signs which may be something > that's Equinox-specific, they are still compliant with the spec, and hence > Felix should handle them gracefully? > > Thanks > > Bruce > > On 04/02/2010 11:43, "Karl Pauls" <[email protected]> wrote: > >> Without testing it I would guess that this is something that only >> equinox does (i.e., not OSGi spec). You can try to install the bundle >> in felix outside of android and see whether it fails as well (I would >> expect that). >> >> regards, >> >> Karl >> >> On Thu, Feb 4, 2010 at 12:34 PM, Jackson, Bruce <[email protected]> wrote: >>> Here's the bundle I recreated after having removed the % signs from >>> Bundle-Name and Bundle-Vendor. This does indeed work: >>> >>> -> ps >>> START LEVEL 1 >>> ID State Level Name >>> [ 0] [Active ] [ 0] System Bundle (1.4.0) >>> [ 1] [Active ] [ 1] Apache Felix Shell Service (1.0.2) >>> [ 2] [Active ] [ 1] Apache Felix Shell TUI (1.0.2) >>> [ 3] [Installed ] [ 1] JDOM (1.0.0.v200803070505) >>> >>> The org.jdom bundle was obtained from OBR, and clearly works under Equinox. >>> Does this suggest a problem with dx or with the way Felix resolves manifest >>> entries under Android, do you think? >>> >>> >>> On 04/02/2010 01:49, "Karl Pauls" <[email protected]> wrote: >>> >>>> The manifest of the bundle looks strange. Can you remove the % signs >>>> and try again? >>>> >>>> regards, >>>> >>>> Karl >>>> >>>> On Wed, Feb 3, 2010 at 5:40 PM, Jackson, Bruce <[email protected]> wrote: >>>>> Hi Karl >>>>> >>>>> Sure. Here it is. This is the bundle AFTER I ran it through dx using the >>>>> command: >>>>> >>>>> dx --dex --verbose --output=org.jdom_1.0.0.v200803070505.jar >>>>> org.jdom_1.0.0.v200803070505.jar >>>>> >>>>> >>>>> On 03/02/2010 16:32, "Karl Pauls" <[email protected]> wrote: >>>>> >>>>>> Can you send me the bundle in question? >>>>>> >>>>>> regards, >>>>>> >>>>>> Karl >>>>>> >>>>>> On Wed, Feb 3, 2010 at 5:24 PM, Jackson, Bruce <[email protected]> >>>>>> wrote: >>>>>>> Hi there >>>>>>> >>>>>>> I've been following the instructions for getting Felix running on >>>>>>> Android. >>>>>>> Outside of the example bundles which are supplied with the distribution >>>>>>> zip >>>>>>> file, has anyone managed to get any 'standard' bundles, for example: >>>>>>> >>>>>>> org.jdom_1.0.0.v200803070505.jar >>>>>>> >>>>>>> running on Felix? I've dexified this bundle with no errors or warnings, >>>>>>> installed it into Felix (as bundle 5 in the exmaple below), but when I >>>>>>> run >>>>>>> up >>>>>>> the shell and run ps, I get: >>>>>>> >>>>>>> -> ps >>>>>>> START LEVEL 1 >>>>>>> ID State Level Name >>>>>>> [ 0] [Active ] [ 0] System Bundle (1.4.0) >>>>>>> [ 1] [Active ] [ 1] Apache Felix Shell Service (1.0.2) >>>>>>> [ 2] [Active ] [ 1] Apache Felix Shell TUI (1.0.2) >>>>>>> [ 4] [Installed ] [ 1] English dictionary (1.0.0) >>>>>>> ERROR: Unable to get module class path. (java.lang.NullPointerException) >>>>>>> java.lang.NullPointerException >>>>>>> at >>>>>>> org.apache.harmony.luni.util.InputStreamExposer.expose(InputStreamExposer >>>>>>> .j >>>>>>> av >>>>>>> a:111) >>>>>>> at java.util.jar.Manifest.read(Manifest.java:212) >>>>>>> at java.util.jar.Manifest.<init>(Manifest.java:95) >>>>>>> at >>>>>>> org.apache.felix.framework.searchpolicy.ContentLoaderImpl.calculateConten >>>>>>> tP >>>>>>> at >>>>>>> h(ContentLoaderImpl.java:344) >>>>>>> at >>>>>>> org.apache.felix.framework.searchpolicy.ContentLoaderImpl.initializeConte >>>>>>> nt >>>>>>> Pa >>>>>>> th(ContentLoaderImpl.java:315) >>>>>>> at >>>>>>> org.apache.felix.framework.searchpolicy.ContentLoaderImpl.getClassPath(Co >>>>>>> nt >>>>>>> en >>>>>>> tLoaderImpl.java:90) >>>>>>> at >>>>>>> org.apache.felix.framework.searchpolicy.ContentLoaderImpl.getResource(Con >>>>>>> te >>>>>>> nt >>>>>>> LoaderImpl.java:192) >>>>>>> at >>>>>>> org.apache.felix.framework.BundleInfo.getCurrentLocalizedHeader(BundleInf >>>>>>> o. >>>>>>> ja >>>>>>> va:221) >>>>>>> at org.apache.felix.framework.Felix.getBundleHeaders(Felix.java:1381) >>>>>>> at >>>>>>> org.apache.felix.framework.BundleImpl.getHeaders(BundleImpl.java:145) >>>>>>> at >>>>>>> org.apache.felix.framework.BundleImpl.getHeaders(BundleImpl.java:127) >>>>>>> at >>>>>>> org.apache.felix.shell.impl.PsCommandImpl.execute(PsCommandImpl.java:128) >>>>>>> at >>>>>>> org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Act >>>>>>> iv >>>>>>> at >>>>>>> or.java:276) >>>>>>> at >>>>>>> org.apache.felix.shell.tui.Activator$ShellTuiRunnable.run(Activator.java: >>>>>>> 16 >>>>>>> 7) >>>>>>> at java.lang.Thread.run(Thread.java:1096) >>>>>>> Unable to execute command: java.lang.NullPointerException >>>>>>> java.lang.NullPointerException >>>>>>> at >>>>>>> org.apache.felix.framework.searchpolicy.ContentLoaderImpl.getResource(Con >>>>>>> te >>>>>>> nt >>>>>>> LoaderImpl.java:194) >>>>>>> at >>>>>>> org.apache.felix.framework.BundleInfo.getCurrentLocalizedHeader(BundleInf >>>>>>> o. >>>>>>> ja >>>>>>> va:221) >>>>>>> at org.apache.felix.framework.Felix.getBundleHeaders(Felix.java:1381) >>>>>>> at >>>>>>> org.apache.felix.framework.BundleImpl.getHeaders(BundleImpl.java:145) >>>>>>> at >>>>>>> org.apache.felix.framework.BundleImpl.getHeaders(BundleImpl.java:127) >>>>>>> at >>>>>>> org.apache.felix.shell.impl.PsCommandImpl.execute(PsCommandImpl.java:128) >>>>>>> at >>>>>>> org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Act >>>>>>> iv >>>>>>> at >>>>>>> or.java:276) >>>>>>> at >>>>>>> org.apache.felix.shell.tui.Activator$ShellTuiRunnable.run(Activator.java: >>>>>>> 16 >>>>>>> 7) >>>>>>> at java.lang.Thread.run(Thread.java:1096) >>>>>>> >>>>>>> Has anyone any idea what is causing this, and how to fix it? >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> Bruce >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>> >>>> >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Karl Pauls [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

