felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Pauls (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (FELIX-3626) Issue of felix on android 4.1
Date Mon, 03 Sep 2012 12:24:07 GMT

     [ https://issues.apache.org/jira/browse/FELIX-3626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Karl Pauls resolved FELIX-3626.
-------------------------------

       Resolution: Fixed
    Fix Version/s: framework-4.2.0

I added a workaround to trunk in r1380214. Can you please try it with the current trunk and
close this issue if it works for you?

The problem is that starting with 4.1 on android the built-in handlers are renamed and moved
-- hence, not following the normal pattern for url handler classnames. This makes us unable
to for e.g., open file/http/ftp/https/jar urls. I'm trying to special case this situation
and create the handlers myself if need be. Works for me for now.
                
> Issue of felix on android 4.1
> -----------------------------
>
>                 Key: FELIX-3626
>                 URL: https://issues.apache.org/jira/browse/FELIX-3626
>             Project: Felix
>          Issue Type: Bug
>          Components: Bundle Repository (OBR), Felix Commons, Gogo Command, Gogo Runtime,
Gogo Shell
>         Environment: felix 4.0.3 on android 4.1
>            Reporter: orga shih
>            Assignee: Karl Pauls
>              Labels: features, newbie
>             Fix For: framework-4.2.0
>
>
> 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 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message