Android adb shell am startservice: Error no encontrado

Estoy intentando comenzar el servicio de la cáscara del adb. Ya hay una pregunta similar: ¿Cómo iniciar y detener el servicio de Android desde un shell de adb? Sin embargo, cuando empiezo el servicio con:

adb shell am startservice com.mypackage/com.mypackage.service.MyService 

Recibo este mensaje:

 Starting service: Intent { act=android.intent.action.VIEW dat=com.mypackage/com.mypackage.service.MyService } Error: Not found; no service started. 

Declaro el servicio en AndroidManifest.xml:

 <application> ... <service android:name="com.mypackage.service.MyService" android:label="@string/local_service_label" android:icon="@drawable/ic_launcher"> </service> </application> 

¿Tienes alguna idea de cómo resolver esto? ¡Gracias!

 adb shell am startservice -n com.mypackage/.service.MyService 

-n añade el prefijo 'line_no:'

Considere lo siguiente como un ejemplo

 <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:theme="@style/AppTheme"> <service android:name=".MyService" android:description="@string/Desciption" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="com.nandhan.myservice" /> </intent-filter> </service> </application> 

Entonces comenzaría el servicio como abajo

Adb shell am startservice com.nandhan.myservice / .MyService

En mi caso, el servicio no se inició fue com.android.tools.fd.runtime.InstantRunService .

Servicio de inicio: Intención {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] cmp = com.xxx.xxx / com.android.tools.fd.runtime.InstantRunService} Error: No encontrado; No se inició el servicio.

Resulta que mi dispositivo Android me faltaba algo. Para desactivarlo, vaya a preferences > Build, Execution, Deployment > Instant Run y desmarque Enable Instant Run to hot swap code/resource changes on deploy (default enabled) .

Desactivar la ejecución instantánea

De acuerdo con esa captura de pantalla, es mejor mantenerlo y de hecho, estaría más feliz con esa función. Por lo menos he corrido con el registro extra y envió comentarios a google. Yo sólo necesitaba una construcción lo antes posible, por lo que ningún instante correr para mí hoy;)

Manifiesto:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.xyz.path"> ... <application ... <service android:name=".MyService"> <intent-filter> <action android:name="com.xyz.path.MY_SERVICE" /> </intent-filter> </service> ... 

Mando:

 adb shell am startservice -n com.xyz.path/.MyService 
  • ADB no puede encontrar Nexus 7 en Mac OS X Mavericks
  • Cómo recoger una llamada por adb
  • Adb tiene dos números de serie cuando se conecta a dos teléfonos inteligentes
  • Android studio logcat no funciona
  • Nexus 7 no se muestra bajo 'dispositivos adb' con Windows 8 PC
  • Cómo definir y utilizar una propiedad del sistema en la prueba de instrumentación de Android?
  • Cómo utilizar adb shell encontrar comando en lote
  • Eclipse error "servidor ADB no ACK, no se puede iniciar daemon"
  • Debe hacer adb kill-server y start-server cada vez para reconocer el dispositivo android en Ubuntu
  • El dispositivo Android no aparece en la lista de anuncios
  • ANdroid - Ejecutar archivo APK después de editado utilizando apktool obtener error:
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.