You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Jörg Wille <jo...@gmail.com> on 2018/03/28 23:10:38 UTC

Dex Oat Felix Android

I am trying to run Felix on Android 8.1, targeting API 27.
I have dexified my test-bundle with this
<https://github.com/luoqii/felix-on-android/blob/master/dexify.sh> script.
Felix does start and the bundle gets successfully installed
(context.installBundle(url, is)).
But when I try to start the bundle I get following exception:

Opening an oat file without a class loader. Are you using the deprecated
DexFile APIs?

The DexFile is being used by Felix in
Class org.apache.felix.framework.BundleWiringImpl (1342) and I have read
<https://developer.android.com/reference/dalvik/system/DexFile.html> that
the DexFile class is deprecated since Android API 26.
But although deprecated, I checked that this class is still part of the API
27, so this felix code should actually still work.

Could the above exception have to do with using Android 8.1 API 27?
Has anyone had success running Felix on Android 8.1? Is there a example
code for running felix on (any version of) Android?
Or am I missing something? Do I maybe have to also "OATify" the bundle
before I can load it?

Best regards,
Jörg

Re: Dex Oat Felix Android

Posted by Karl Pauls <ka...@gmail.com>.
Yeah, our android support is pretty old and I was thinking for a while
that we probably would need to rework it based on a PathClassLoader. I
just never had the time/motivation to look into it.

Can you maybe create a JIRA issue for it and I'll try to get to it
(obviously, patches are welcome :-).

regards,

Karl

On Thu, Mar 29, 2018 at 1:10 AM, Jörg Wille <jo...@gmail.com> wrote:
> I am trying to run Felix on Android 8.1, targeting API 27.
> I have dexified my test-bundle with this
> <https://github.com/luoqii/felix-on-android/blob/master/dexify.sh> script.
> Felix does start and the bundle gets successfully installed
> (context.installBundle(url, is)).
> But when I try to start the bundle I get following exception:
>
> Opening an oat file without a class loader. Are you using the deprecated
> DexFile APIs?
>
> The DexFile is being used by Felix in
> Class org.apache.felix.framework.BundleWiringImpl (1342) and I have read
> <https://developer.android.com/reference/dalvik/system/DexFile.html> that
> the DexFile class is deprecated since Android API 26.
> But although deprecated, I checked that this class is still part of the API
> 27, so this felix code should actually still work.
>
> Could the above exception have to do with using Android 8.1 API 27?
> Has anyone had success running Felix on Android 8.1? Is there a example
> code for running felix on (any version of) Android?
> Or am I missing something? Do I maybe have to also "OATify" the bundle
> before I can load it?
>
> Best regards,
> Jörg



-- 
Karl Pauls
karlpauls@gmail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org