You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Karl Pauls (JIRA)" <ji...@apache.org> on 2018/09/26 22:12:00 UTC

[jira] [Comment Edited] (FELIX-5913) Support Android

    [ https://issues.apache.org/jira/browse/FELIX-5913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16629466#comment-16629466 ] 

Karl Pauls edited comment on FELIX-5913 at 9/26/18 10:11 PM:
-------------------------------------------------------------

[~tom.phinneyridge@gmail.com], I had a look at your PR and I think it is going into the right direction. Thanks a lot for your effort!

However, I think it is somewhat problematic that we can not be the classloader itself. That will make certain things not work like e.g. the BundleReference and lazy activation. Furthermore, we are making assumptions about being the classloader in some other parts of the framework which might be problematic. 

After thinking about it some more, I might have found a solution to that problem. I created a POC based on your work that adds a fake dalvik.PathClassLoader class (in order to compile without dependencies on android) and use that to extend it in a new BundleClassLoaderDalvik. 

I created a branch that you should be able to checkout/fork here: https://github.com/karlpauls/felix/tree/android

and a PR (in case you prefer a diff): https://github.com/karlpauls/felix/pull/2 

Could you test the POC on Android and see if it works (or if not, see if you could massage it to work)? 


was (Author: karlpauls):
[~tom.phinneyridge@gmail.com], I had a look at our PR and I think it is going into the right direction. 

However, I think it is somewhat problematic that we can not be the classloader itself. That will make certain things not work like e.g. the BundleReference and lazy activation. Furthermore, we are making assumptions about being the classloader in some other parts of the framework which might be problematic. 

After thinking about it some more, I might have found a solution to that problem. I created a POC based on your work that adds a fake dalvik.PathClassLoader class (in order to compile without dependencies on android) and use that to extend it in a new BundleClassLoaderDalvik. 

I created a branch that you should be able to checkout/fork here: https://github.com/karlpauls/felix/tree/android

and a PR (in case you prefer a diff): https://github.com/karlpauls/felix/pull/2 

Could you test the POC on Android and see if it works (or if not, see if you could massage it to work)? 

> Support Android
> ---------------
>
>                 Key: FELIX-5913
>                 URL: https://issues.apache.org/jira/browse/FELIX-5913
>             Project: Felix
>          Issue Type: Wish
>          Components: Framework
>    Affects Versions: framework-6.0.0, framework-6.0.1
>            Reporter: Tom Rutchik
>            Priority: Major
>         Attachments: BundleWiringImpl.java, FelixAndroidSupportImplementationNotes.pdf
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> The lastest 6.0.0 and 6.0.1 release no longer works on Android.
> The code form the 5.6.10 version necessary to make it work was not ported into these versions.
> Some code needs to be added to the class BundleWiringImpl class to allow for android support. All of the code necessary to due that can be found in the 5.6.10 version.
> I've added the code and have tested it and it's working fine again.  I've attached an implementation of BundleWiringImpl that works with android. It's basically the 6.0.1 implementation with the extra code from 5.6.10.  You should be able to do a file diff on the 6.0.1 to see where I had to add the missing code.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)