В наши дни самым большим камнем преткновения для совместного использования кода является то, что BlackBerry VM и Android VM обе поддерживают разные версии языка Java. BlackBerry использует подмножество Java 1.3, Android использует подмножество Java 1.5. (Кроме того, ни одна из платформ не реализует Java VM, обе используют свои собственные VM. Java используется в качестве языка программирования. Байт-коды Java должны быть преобразованы в соответствующий собственный формат VM, прежде чем они смогут работать на платформе.)
Самое большое отличие, которое вы найдете как разработчик библиотеки, заключается в том, что в BlackBerry отсутствуют те вещи, которые были представлены в 1.5, очень важные вещи, такие как дженерики и перечисления. Хуже того, классы Коллекций отсутствуют в BlackBerry. Это прискорбно, но так было давно.
Это означает, что для того, чтобы быть по-настоящему переносимым, вы должны записать в наименьший общий знаменатель, что означает использование (очень) классов в старом стиле, таких как Hashtable и Vector, без использования обобщений, сворачивание ваших собственных перечислений (как в 1-м издании эффективной Java) и т. д.
Или вы создаете две библиотеки: современную версию для Android и урезанную версию (со всеми необходимыми материалами) для BlackBerry.
Трудно сказать, что тебе подходит.