Не уверен насчет этого, но я предполагаю, что вы скомпилировали MyService.LocalBinder в apk A1 и A2. Это породило бы такого рода исключения, потому что, хотя они имеют одинаковое имя и код, они по-прежнему являются двумя отдельными файлами классов. Я думаю, что вам нужно переместить класс в общую библиотеку, чтобы эта работа работала.
Обновление (отвечая на комментарий): я не вижу, как использование интерфейса будет отличаться; как и в случае с классом, интерфейс будет реализован по-разному на клиенте и сервере, что приведет к исключению приведения. Возможно, вы сможете использовать отражение , чтобы обойти это, но я не рекомендую такой подход - он может не поддерживаться ни AndroidOS, ни DalvikVM.
Я думаю, что лучший способ - это попытаться создать интерфейс AIDL и посмотреть, справится ли он с работой. Это может быть в 10 раз легче, чем пытаться сделать что-то, что Android, похоже, намеренно предотвращает.
Но если вы хотите продолжать следовать своему текущему подходу, один из возможных путей будет использовать ClassLoader для загрузки клиентского класса на сервер. Я не уверен, что это тоже можно сделать.