我需要写一个shell脚本来启动和停止一个android服务。
我是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扩展android.app.Service是你的java类是服务。其中com.some.package是包名称,对于我在AndroidManifest.xml和Java。
使用a javabeat.net article作为帮助,查找< service>
还要注意,据称在包名和类名之间应该有.service。在文本中,我想这是一些约定,但对我来说,这导致ClassNotFoundException,我还没有解决。
然后,安装你的apk。我从eclipse,但也adb安装-r yourApkHere.apk应该工作。卸载是adb卸载com.some.package.name,btw。
你可以从这样的主机系统启动它,感谢Just a Tim和MrRoy:
adb shell am startservice com.some.package.name/.YourServiceSubClassName
有趣的是,我不需要-n。
停下来,我用
adb shell am force-stop com.some.package.name
希望它有帮助。