My company creates multiple BlackBerry apps that all use a few shared Java projects. Recently we've been chasing a bug that we theorize may be caused by an app using an old version of one of the projects. My question is, do two apps downloaded separately from App World share the projects they have in common, or does each app use its own copy of the project?
For example, say I have two apps, Foo and Bar, which each use the project Baz. I first download:
- Foo 1.0
- with Baz 1.0
Then I download:
- Bar 2.0
- with Baz 2.0
Will Bar use version 1.0 or 2.0 of Baz when I launch it?
Normally, the last-installed application's library will overwrite the existing library, which is often not what you want. This has been a longstanding problem with the BlackBerry platform, as seen here.
What I and others do is either:
- include the source code for the library within the app itself, or
- include the version number in the library
Essentially you're doing away with the concept of a shared library, which is unfortuante, but at least your app works independently of any other changes.
Sorry, I guess there's a third option: package the library as a separate download. But that has its own issues.
来源:https://stackoverflow.com/questions/5007763/do-apps-downloaded-from-app-world-share-projects