Если бы портирование было таким простым, многие разработчики остались бы без работы.
Вам не нужно будет переписывать все приложение, но, безусловно, должно быть сделано немало изменений. Если у вас чистый дизайн, вы можете использовать много кода, как есть. В противном случае это будет сложнее. Для API RIM может быть хорошей идеей сначала написать интерфейсные классы («RIMXyz реализует IntrfXyz»), которые имеют все вызовы функций, которые вы используете из RIM-API. Затем вы можете написать классы API Android, используя «AndrXyz реализует IntrfXyz». Поместите RIM-зависимый материал в отдельную внешнюю библиотеку и сделайте то же самое с android-зависимым материалом. Тогда у вас может быть RIM-prj и Android-prj, каждый из которых связан только с зависимыми классами и повторно используемыми классами. Таким образом, вы можете очень хорошо структурировать свой проект переноса.
Кроме того, «верхний» конец приложения обязательно должен измениться, потому что вы должны использовать класс «активность» в Android, чтобы запустить что-либо. Это два аспекта, которые я вижу.
Надеюсь, это понятно, немного сложно выразить это несколькими словами ...
Я запустил кроссплатформенный проект для апплета Android / Java, и вот как я это сделал. Оно работает. ; -)