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. 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? >>>>>> >>>>>> >>>>>> >>>> >>>> >>> >>> >> >> > >
