Я новичок в Android, но он работает так:
в AndroidManifest.xml, убедитесь, что внутри <application>
есть что-то вроде этого:
<service android:name="com.some.package.name.YourServiceSubClassName" android:permission="com.some.package.name.YourServiceSubClassName">
<intent-filter>
<action android:name="com.some.package.name.YourServiceSubClassName"/>
</intent-filter>
</service>
, где YourServiceSubClassName
extend android.app.Service
- это ваш класс Java, который является службой. Где com.some.package
- это имя пакета, для меня как в AndroidManifest.xml, так и в Java.
Использовал статью javabeat.net в качестве справки, ищите <service>
Обратите внимание, предположительно, между именем пакета и именем класса в тексте должно быть .service.
, я думаю, это какое-то соглашение, но для меня это вызвало ClassNotFoundException
, что мне еще предстоит решить.
Затем установите ваш apk. Я сделал из затмения, но также adb install -r yourApkHere.apk
должен работать. Деинсталляция adb uninstall com.some.package.name
, кстати.
Вы можете запустить с хост-системы следующим образом, спасибо Просто Тим и MrRoy :
adb shell am startservice com.some.package.name/.YourServiceSubClassName
интересно, мне не нужно было -n
.
до стоп , я использую
adb shell am force-stop com.some.package.name
Надеюсь, это поможет.
Поскольку я новичок, пожалуйста, не стесняйтесь редактировать / комментировать, чтобы исправить любые неправильные представления (например, вероятно, относительно .service.
в названии компонента (?)).