Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
felix 4.0.3 on android 4.1
Description
I am trying to put apache felix to android 4.1, but all default bundles can't be installed.
At first, I follow the tutorial "http://felix.apache.org/site/apache-felix-framework-and-google-android.html".
Using the "felix-framework-4.0.3" for android 4.1 emulator. because I want to port it to Nexus 7.
then I get the error as below:
Problem creating boot delegation class loader: java.lang.reflect.InvocationTargetException
Auto-deploy install: org.osgi.framework.BundleException: Unable to cache bundle: file:/data/felix/bundle/org.apache.felix.bundlerepository-1.6.6.jar - java.net.MalformedURLException: java.lang.IllegalStateException: Unknown protocol: file
Auto-deploy install: org.osgi.framework.BundleException: Unable to cache bundle: file:/data/felix/bundle/org.apache.felix.gogo.command-0.12.0.jar - java.net.MalformedURLException: java.lang.IllegalStateException: Unknown protocol: file
Auto-deploy install: org.osgi.framework.BundleException: Unable to cache bundle: file:/data/felix/bundle/org.apache.felix.gogo.runtime-0.10.0.jar - java.net.MalformedURLException: java.lang.IllegalStateException: Unknown protocol: file
Auto-deploy install: org.osgi.framework.BundleException: Unable to cache bundle: file:/data/felix/bundle/org.apache.felix.gogo.shell-0.10.0.jar - java.net.MalformedURLException: java.lang.IllegalStateException: Unknown protocol: file
It looks like all bundles can't be installed. Are there any suggestion about this?
update:
When add property "felix.service.urlhandlers=false", get another exception
Problem creating boot delegation class loader: java.lang.reflect.InvocationTargetException
gogo: MalformedURLException: Unknown protocol: bundle
java.net.MalformedURLException: Unknown protocol: bundle
at java.net.URL.<init>(URL.java:184)
at java.net.URL.<init>(URL.java:127)
at java.net.URI.toURL(URI.java:1357)
at org.apache.felix.gogo.shell.Shell.readScript(Shell.java:209)
at org.apache.felix.gogo.shell.Shell.source(Shell.java:192)
at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:109)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137)
at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
at org.apache.felix.gogo.shell.Activator.run(Activator.java:75)
at java.lang.Thread.run(Thread.java:856)
Detail step:
1.download felix-framework-4.0.3 and "osgi-android - felix 1.4, android SDK 1.0.zip" and extract them.
2.do dx and aapt for jar files in felix-framework-4.0.3.
3.copy felix.sh from "osgi-android - felix 1.4, android SDK 1.0" to felix-framework-4.0.3
4.start emulator of android 4.1
5.push felix-framework-4.0.3 to android(/data/felix)
6.adb shell and cd to /data/felix
7.sh felix.sh
More info:
I have tried different versions of android and felix.
1."osgi-android - felix 1.4, android SDK 1.0.zip" works normally on android 4.1 with it bundles.
2. felix-framework-4.0.3 is work on android 4.03 and 2.3.3