Android Studio versão 2.3
Você pode criar um serviço sem uma atividade principal, seguindo algumas etapas fáceis. Você poderá instalar este aplicativo por meio do Android Studio e depurá-lo como um aplicativo normal.
Primeiro, crie um projeto no Android Studio sem uma atividade. Em seguida, crie sua classe de serviço e adicione o serviço ao seu AndroidManifest.xml
<application android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<service android:name="com.whatever.myservice.MyService">
<intent-filter>
<action android:name="com.whatever.myservice.MyService" />
</intent-filter>
</service>
</application>
Agora, no menu suspenso ao lado do botão "Executar" (seta verde), vá em "editar configurações" e em "Opções de inicialização" escolha "Nada". Isso permitirá que você instale seu serviço sem que o Android Studio reclame por não ter uma atividade principal.
Depois de instalado, o serviço NÃO estará em execução, mas você poderá iniciá-lo com este comando adb shell ...
am startservice -n com.whatever.myservice/.MyService
Pode verificar se está funcionando com ...
ps | grep whatever
Ainda não tentei, mas provavelmente você também pode fazer com que o Android Studio inicie o serviço automaticamente. Isso seria feito no menu "Editar configurações".