Friday, July 29, 2011

[android-developers] Re: Extending Interface of Dynamically Loaded Dex File

You are changing the public set of interfaces in Interface.jar by adding a new Foo2 interface.
You are trying to have clients with an 'old' Interface.jar (ones without Foo2) interact with an Implementation based on a 'new' Interface.jar. This won't work.

Older clients have to update their Interface.jar first before they can make use of implementations (compiled into Implementation.jar) of Foo2 or implementations that indirectly may use or load Foo2.

You should be able to swap in any (new) Implementation.jar based on the 'old' Interface.jar. But when Implementation.jar doesn't 'match' up with the client's Interface.jar, you will run into trouble. And i think this is a Java issue, not so much an Android issue :-)

If you want to be able to update Interface.jar, you would have to make that a 'plugin' as well, loading it through the Dex class loader.

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

No comments:

Post a Comment