Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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!

  • RxJava Android: cargar datos de caché en los subprocesos adecuados
  • Diferencia entre los métodos onCreateView y onBindView de Preferencia
  • Construya la versión Target y Min SDK en Android
  • AlertDialog con los botones OK / Cancel
  • Cámara de Android ICS emulador
  • Cambiar la orientación sin llamada onCreate
  • Cómo ocultar linearlayout de código java?
  • Cargar valor de dimensión de res / values ​​/ dimension.xml desde el código fuente
  • 4 Solutions collect form web for “Android adb shell am startservice: Error no encontrado”

     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 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.