Как же я намучился с этим одно время, нигде не нашел решение. Поделюсь, раз уж наткнулся на этот вопрос. Первое правило использования сервисов в под android - никаких упоминаний FMX и всего что связано с графикой, пусть вы и не используете её.
Например: если вы упомянули в сервисе, в разделе uses FMX.Types - ваш сервис будет падать с ошибкой Segment fault.
Также, допустим у вас есть юнит uMyUnit, и в этом юните в разделе uses есть FMX.Types - тоже будет падать с ошибкой Segment fault.
Повторюсь, сервис никаким образом не должен знать об FMX.
Причина падения FireDAC это - Wait курсор.
Решение 1: Если вы используете designTime компонент, добавьте рядом компонент FDGUIxWaitCursor
настройте его так:
Property: Provide, Value: Console Property: ScreenCursor, Value: gcrNone
Решение 2: Если вы используете динамическое создание подключения:
uses
..., FireDAC.ConsoleUI.Wait, ...
var
FDGUIxWaitCursor: TFDGUIxWaitCursor;
begin
FDGUIxWaitCursor := TFDGUIxWaitCursor.Create(nil);
FDGUIxWaitCursor.Provider := 'Console';
FDGUIxWaitCursor.ScreenCursor := TFDGUIxScreenCursor.gcrNone;
end;