On 12.02.2010, at 17:27, Jackson, Bruce wrote:

> I've got the Felix framework installed on my Nexus. If I download the 
> org.apache.felix.http.jetty-2.0.4.jar bundle from the Felix site, dx it 
> (which generates piles of warnings) push it to the phone, start Felix and 
> then install the jetty bundle, Felix just hangs:
> 
> -> 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] [Active     ] [    1] JDOM (1.0.0.v200803070505)
> -> install file:bundle/org.apache.felix.http.jetty-2.0.4.jar
> Feb 12, 2010 4:15:03 PM java.io.BufferedWriter <init>
> INFO: Default buffer size used in BufferedWriter constructor. It would be 
> better to be explicit if an 8k-char buffer is required.
> Feb 12, 2010 4:15:03 PM java.io.BufferedWriter <init>
> INFO: Default buffer size used in BufferedWriter constructor. It would be 
> better to be explicit if an 8k-char buffer is required.
> Feb 12, 2010 4:15:03 PM java.io.BufferedWriter <init>
> INFO: Default buffer size used in BufferedWriter constructor. It would be 
> better to be explicit if an 8k-char buffer is required.
> Feb 12, 2010 4:15:04 PM java.io.BufferedWriter <init>
> INFO: Default buffer size used in BufferedWriter constructor. It would be 
> better to be explicit if an 8k-char buffer is required.
> Feb 12, 2010 4:15:04 PM java.io.BufferedWriter <init>
> INFO: Default buffer size used in BufferedWriter constructor. It would be 
> better to be explicit if an 8k-char buffer is required.
> Feb 12, 2010 4:15:04 PM java.io.BufferedWriter <init>
> INFO: Default buffer size used in BufferedWriter constructor. It would be 
> better to be explicit if an 8k-char buffer is required.
> Bundle ID: 5
> -> 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] [Active     ] [    1] JDOM (1.0.0.v200803070505)
> [   5] [Installed  ] [    1] Apache Felix Http Jetty (2.0.4)
> -> start 5
> Feb 12, 2010 4:15:08 PM java.io.BufferedWriter <init>
> INFO: Default buffer size used in BufferedWriter constructor. It would be 
> better to be explicit if an 8k-char buffer is required.
> DEBUG: WIRE: 5.0 -> javax.xml.parsers -> 0
> DEBUG: WIRE: 5.0 -> org.xml.sax -> 0
> DEBUG: WIRE: 5.0 -> javax.servlet.resources -> 5.0
> DEBUG: WIRE: 5.0 -> javax.servlet -> 5.0
> DEBUG: WIRE: 5.0 -> javax.security.cert -> 0
> DEBUG: WIRE: 5.0 -> org.osgi.util.tracker -> 0
> DEBUG: WIRE: 5.0 -> org.osgi.framework -> 0
> DEBUG: WIRE: 5.0 -> javax.servlet.jsp.resources -> 5.0
> DEBUG: WIRE: 5.0 -> javax.net.ssl -> 0
> DEBUG: WIRE: 5.0 -> org.xml.sax.helpers -> 0
> DEBUG: WIRE: 5.0 -> org.osgi.service.http -> 5.0
> DEBUG: WIRE: 5.0 -> org.apache.felix.http.api -> 5.0
> DEBUG: WIRE: 5.0 -> javax.servlet.http -> 5.0
> 
> At this point, I have to CTRL-C to kill Felix. The same thing happened before 
> I compiled JDOM with 1.5+. I might be missing something, but my assumption, 
> perhaps wrong, was that it was the compiler version that was causing this 
> behavior?

Hum interesting,

Potentially this is very slow, or there is an issue with the NIO. 
I use the HTTP Service 1.0.0. Could you try with that one ?


Clement

> 
> Thanks
> 
> Bruce
> 
> 
> 
> 
> 
> 
> On 12/02/2010 15:51, "Clement Escoffier" <[email protected]> wrote:
> 
>> 
>> On 12.02.2010, at 16:45, Jackson, Bruce wrote:
>> 
>>> Whenever you dx a bundle which has been built with a pre-1.5 compiler you
>>> will usually get a pile of:
>>> 
>>> warning: Ignoring InnerClasses attribute for an anonymous inner class that
>>> doesn't come with an associated EnclosingMethod attribute. (This class was
>>> probably produced by a broken compiler.)
>>> 
>>> ...messages (assuming that you do use inner classes in the bundle). These
>>> are generated because the bundle was compiled with a pre-1.5 compiler. With
>>> something like the org.jdom bundle, the bundle will not work correctly if it
>>> was compiled with a pre-1.5 compiler and then dx-ed, while using a post-1.5
>>> it does.
>>> 
>>> It may a be a broad assessment of the situation, but I took this experience
>>> to indicate that it was required to build bundles with a post-1.5 compiler.
>>> Indeed if you look around the web, you'll see this warning mentioned in
>>> relation to a number of problems people are having with getting apps running
>>> on Android, when using JARs that were compiled pre-1.5.
>> 
>> Well, you got less messages if you compile with 1.5+, but that's does say 
>> that
>> a bundle will not work.
>> When dexifying iPOJO, I have a couple of message too, but the complete iPOJO
>> test suite works on Android (except some features using on the fly bytecode
>> generation).
>> 
>> Regards,
>> 
>> Clement
>> 
>> 
>> 
>>> 
>>> Thanks
>>> 
>>> Bruce
>>> 
>>> On 12/02/2010 15:25, "Karl Pauls" <[email protected]> wrote:
>>> 
>>>> On Fri, Feb 12, 2010 at 4:22 PM, Jackson, Bruce <[email protected]> 
>>>> wrote:
>>>>> I'm taking here about the ad-on bundles (like http, for example) rather
>>>>> than
>>>>> the framework. The dx tool needs to have classes that were compiled with a
>>>>> "new" compiler (i.e. greater than 1.5).
>>>> 
>>>> Since when? Always worked for me. Again, the framework itself is
>>>> compiled for 1.3...
>>>> 
>>>> regards,
>>>> 
>>>> Karl
>>>> 
>>>>> Thanks
>>>>> 
>>>>> Bruce
>>>>> 
>>>>> 
>>>>> On 12/02/2010 13:33, "Karl Pauls" <[email protected]> wrote:
>>>>> 
>>>>>> Why would you need 1.5 to be able to dex the bundle (the framework
>>>>>> itself is build for 1.3 btw.)?
>>>>>> 
>>>>>> regards,
>>>>>> 
>>>>>> Karl
>>>>>> 
>>>>>> On Fri, Feb 12, 2010 at 1:15 PM, Jackson, Bruce <[email protected]>
>>>>>> wrote:
>>>>>>> Hi Pablo
>>>>>>> 
>>>>>>> See the attached code. The biggest problem I've encountered is that the
>>>>>>> Felix distribution is a huge pain to build under JDK 1.5, and therefore
>>>>>>> to
>>>>>>> be able to use some of the bundles (for example the http service) that
>>>>>>> are
>>>>>>> part of the distribution. Its not a simple job of just changing a couple
>>>>>>> of
>>>>>>> entries in POM files: some components download pre-built JAR files from
>>>>>>> the
>>>>>>> web and explode these, thereby having classes built under 1.4 which will
>>>>>>> not
>>>>>>> work when you dexify the bundles.
>>>>>>> 
>>>>>>> This is something that would be great to see some work done on by the
>>>>>>> Felix
>>>>>>> community, because while its true that the basic Felix core does and 
>>>>>>> will
>>>>>>> support Android, most of the add-on bundles wont.
>>>>>>> 
>>>>>>> For my part, the ideal solution would be to see the whole framework be
>>>>>>> based
>>>>>>> on JDK 1.5 and not 1.4.
>>>>>>> 
>>>>>>> Thanks
>>>>>>> 
>>>>>>> Bruce
>>>>>>> 
>>>>>>> 
>>>>>>> On 12/02/2010 11:32, "pablomj" <[email protected]> wrote:
>>>>>>> 
>>>>>>>> 
>>>>>>>> Hi Bruce, I am trying the same, but I don't have the solution yet.
>>>>>>>> Do you have some advance?
>>>>>>>> Salutations, thanks.
>>>>>>>> Pablo.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Jackson, Bruce wrote:
>>>>>>>>> 
>>>>>>>>> The Felix site has a useful section on getting things going on 
>>>>>>>>> Android >>>>>>>> (
>>>>>>>>> http://felix.apache.org/site/apache-felix-and-google-android.html) but
>>>>>>>>> isn't
>>>>>>>>> so clear about embedding the framework into an Android app"
>>>>>>>>> 
>>>>>>>>> "Apache Felix can also be integrated with an Android application. To
>>>>>>>>> achieve
>>>>>>>>> this, you need to embed Felix into onCreate() method of your Activity
>>>>>>>>> class
>>>>>>>>> (see Android docs for more details on how to use an Activity) and
>>>>>>>>> process
>>>>>>>>> your bundles as shown above."
>>>>>>>>> 
>>>>>>>>> Has anyone got an example of how you do this? I understand how to 
>>>>>>>>> write
>>>>>>>>> the
>>>>>>>>> Android app, and I get the point being made here. What I need to
>>>>>>>>> understand
>>>>>>>>> is:
>>>>>>>>> 
>>>>>>>>> 1. How do you launch the Felix framework. What do I need to
>>>>>>>>> instantiate?
>>>>>>>>> 2. Where does the framework get its boot configuration (i.e. what
>>>>>>>>> bundles
>>>>>>>>> to
>>>>>>>>> load, run levels, environment variables, etc) from in this case?
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>> 

Reply via email to