Balazs Zsoldos created FELIX-5643:
-------------------------------------

             Summary: Exceptions are swallowed on Android
                 Key: FELIX-5643
                 URL: https://issues.apache.org/jira/browse/FELIX-5643
             Project: Felix
          Issue Type: Bug
          Components: Framework
    Affects Versions: framework-5.6.2
         Environment: Android
            Reporter: Balazs Zsoldos


In case of Android, the following lines will run on Android:

{code:java}
try
{
    clazz = getDexFileClass((JarContent) content, name, this);
}
catch (Exception ex)
{
    // Looks like we can't
}
{code}

The _getDexFileClass_ function throws an exception only if the OSGi container 
is started within an Android environment and if there was an exception we want 
to know about. E.g.:

 - Exception during initialization of class (static block or initialization of 
static field)
 - ClassNotFoundException. E.g.: The loaded class implements an interface that 
is not available in the Android environment

If the OSGi container is not started within an Android environment, the 
_getDexFileClass_ will not throw an exception for sure.

If the OSGi container is started within an Android environment, the content of 
the exception is important and the fallback logic will be always wrong as the 
class cannot be loaded in the standard way.

I suggest not to ignore this exception as it makes very hard to solve issues 
within Android. Problems can be solved only via debugging.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to