Hello, 

Well, so far you've only shown that it's exactly opposite :)
>


Well, not exactly the opposite... perhaps just 90° in the wrong direction... 
;-)

 

> 05-09 13:20:20.079: WARN/dalvikvm(13668): VFY: unable to find class 
> referenced in signature (Ljavax/security/auth/Subject;) 
> Android docs list javax.security.auth.Subject in the reference:
> http://developer.android.com/reference/javax/security/auth/Subject.html
>


I think this is because I'm using a javax.security.auth.Subject in some of 
the method signatures of the particular class. If I now try to instantiate 
this class, the framework checks the availability of the classes used inside 
(and in the signatures etc.), tries to load these classes, and in the case 
of the javax.security.auth.Subject, this does not work. Here is another part 
of a log (with the use of the mBS Mobile OSGi framework instead of the Felix 
framework, but this doesn't seem to make a difference):

++++++++++++++++++++++++++++++++++++++++++++++++++
03-24 08:31:04.976: INFO/System.out(243): fw>$[COMPONENTMANAGER_ACTIVATOR] 
Registering ComponentManager-Services...
03-24 08:31:05.056: INFO/mBS(243): Cannot load class: 
javax/security/auth/Subject from 
/data/data/com.prosyst.mbs.mobile.android/app_mbs/lib/serverandroid.jar
03-24 08:31:05.056: DEBUG/mBS(243): [DalvikClassLoader] Loaded class from boot 
class loader: class javax.security.auth.Subject
03-24 08:31:05.066: INFO/mBS(243): Cannot load class: 
javax/security/auth/Subject from 
/data/data/com.prosyst.mbs.mobile.android/app_mbs/bin/vms/dalvikvm/storage/bundles/81^OSAmI-Binding-API_1.0.0.jar
03-24 08:31:05.226: INFO/DEBUG(31): *** *** *** *** *** *** *** *** *** *** *** 
*** *** *** *** ***
03-24 08:31:05.226: INFO/DEBUG(31): Build fingerprint: 
'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
03-24 08:31:05.226: INFO/DEBUG(31): pid: 243, tid: 377  >>> 
com.prosyst.mbs.mobile.android:mbsservice <<<
03-24 08:31:05.226: INFO/DEBUG(31): signal 11 (SIGSEGV), fault addr 00000024
03-24 08:31:05.226: INFO/DEBUG(31):  r0 00000000  r1 450903d0  r2 00011a44  r3 
80887fc4
+++++++++++++++++++++++++++++++++++++++++

This log starts with one of my own debug messages saying that the OSGi 
services being registered. Therefore, the appropriate classes must be 
instantiated, among those the class with the javax.security.auth.Subject in 
some of its method signatures. When the class is about to be instantiated, 
the mBS Mobile framework tries to load the Subject by first trying to load 
it from its own classes (second line of the log). Because the Subject is not 
part of the mBS Mobile, loading this class is delegated to the Dalvik VM, 
which seems to load it (third line). But then, somehow, the error appears, 
the loaded class seems not to be returned to the OSGi framework, and 
everything crashes (lines 4 ff.). I have absolutely no idea, why this 
happens - if I for example just write a bundle which instantiates a Subject 
somewhere in its code and run this bundle in an OSGi framework under Dalvik, 
it works. But in the particular case here, it doesn't... :-(

In the meantime, I created a version of the bundle in which no 
javax.security.auth.Subjects are used in the method signatures of the 
service (in fact, I just replaced each Subject simply by an 
java.lang.Object...). Instantiating this class (i.e., starting this OSGi 
service) works without problems, but of course this is not the solution for 
my problem, because in this case, it would be a special "Android version" of 
the particular OSGi bundle - and of course we want to use the identical 
bundles under all systems / framework (and furthermore, if the Subject 
cannot be used, some functionality is lost...).

So if anyon hase some more ideas... ;-)

Regards,
Jan

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to