android adb 命令启动,如何从adb shell启动和停止android服务?
如何从adb shell启动和停止android服务?
我需要编写一个Shell脚本来启动和停止android服务。
10个解决方案
43 votes
我是Android的初学者,但是可以这样工作:
在AndroidManifest.xml中,确保您在.service.内部具有以下内容:
.service.扩展其中adb uninstall com.some.package.name是您的服务的Java类。 对于我来说,其中com.some.package是程序包名称,在AndroidManifest.xml和Java中都是如此。使用了javabeat.net文章作为帮助,查找
还要注意,在文本中应该在包名称和类名称之间应该有.service.,我想这是一些约定,但是对我来说,这引起了adb uninstall com.some.package.name,但我尚未解决。
然后,安装您的apk。 我从日食中所做过,但.service.也应该起作用。 卸载是adb uninstall com.some.package.name,btw。
您可以像这样从主机系统启动它,谢谢Tim和MrRoy:
adb shell am startservice com.some.package.name/.YourServiceSubClassName
有趣的是,我不需要.service.。
要停止,我用
adb shell am force-stop com.some.package.name
希望能帮助到你。
由于我是初学者,请随时进行编辑/注释以纠正任何误解(例如,组件名称(?)中可能涉及.service.)。
n611x007 answered 2020-06-26T20:10:57Z
17 votes
启动服务:
adb shell am startservice ...
启动服务。 选项有: -用户| 当前:指定以哪个用户身份运行; 如果不 指定,然后以当前用户身份运行。
停止服务:
adb shell am stopservice ...
停止服务。 选项有: -用户| 当前:指定以哪个用户身份运行; 如果不 指定,然后以当前用户身份运行。
bonnyz answered 2020-06-26T20:11:30Z
13 votes
如果您想在adb shell中运行脚本,那么我尝试使用应用程序执行相同的操作。 我认为您可以使用“ am start”命令
用法:am [子命令] [选项]
start an Activity: am start [-D] [-W]
-D: enable debugging
-W: wait for launch to complete
**start a Service: am startservice **
send a broadcast Intent: am broadcast
start an Instrumentation: am instrument [flags]
-r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)
-e : set argument to
-p : write profiling data to
-w: wait for instrumentation to finish before returning
start profiling: am profile start
stop profiling: am profile stop
start monitoring: am monitor [--gdb ]
--gdb: start gdbserv on the given port at crash/ANR
specifications include these flags:
[-a ] [-d ] [-t ]
[-c [-c ] ...]
[-e|--es ...]
[--esn ...]
[--ez ...]
[-e|--ei ...]
[-n ] [-f ]
[--grant-read-uri-permission] [--grant-write-uri-permission]
[--debug-log-resolution]
[--activity-brought-to-front] [--activity-clear-top]
[--activity-clear-when-task-reset] [--activity-exclude-from-recents]
[--activity-launched-from-history] [--activity-multiple-task]
[--activity-no-animation] [--activity-no-history]
[--activity-no-user-action] [--activity-previous-is-top]
[--activity-reorder-to-front] [--activity-reset-task-if-needed]
[--activity-single-top]
[--receiver-registered-only] [--receiver-replace-pending]
[]
sandroid answered 2020-06-26T20:11:54Z
10 votes
我可以通过开始服务
am startservice com.xxx/.service.XXXService
但是我还不知道如何阻止它。
MrROY answered 2020-06-26T20:12:19Z
7 votes
您应将服务的android:exported属性设置为“ true”,以允许其他组件调用它。 在AndroidManifest.xml文件中,添加以下属性:
然后,您应该能够通过adb启动该服务:
adb shell am startservice com.package.name/.YourServiceName
有关android:exported属性的更多信息,请参见此页面。
AmitB answered 2020-06-26T20:12:47Z
6 votes
响应pzulw对sandroid的有关指定意图的反馈。
组件名称的格式在ComponentName.unflattenFromString的api文档中进行了描述
它在第一个“ /”处拆分字符串,将前面的部分作为程序包名称,将后面的部分作为类名称。 作为一种特殊的便利(例如,在命令行上解析组件名称时使用),如果在'/'之后紧跟一个'。'。 那么最终的类名称将是包名称与“ /”后面的字符串的串联。 因此,“ com.foo/.Blah”成为package =“ com.foo” class =“ com.foo.Blah”。
Just a Tim answered 2020-06-26T20:13:17Z
6 votes
使用时可能会出现错误“ *错误:应用程序在后台*”
adb shell am startservice
在奥利奥(26岁以上)。 这需要前台的服务。使用以下内容。
adb shell am start-foreground-service com.some.package.name/.YourServiceSubClassName
Kiran k g answered 2020-06-26T20:13:41Z
5 votes
您需要添加adb shell am force-stop com.your.package.name以从ADB命令行启动服务。 然后您的清单看起来像这样:
android:name=".YourServiceName"
android:exported="true"
android:launchMode="singleTop">
然后从亚行
要开始服务:
adb shell am force-stop com.your.package.name
停止服务(在棉花糖上):
adb shell am force-stop com.your.package.name
停止服务(在Jelly Bean上):
adb shell am force-stop com.your.package.name
Atul answered 2020-06-26T20:14:31Z
2 votes
adb shell am startservice
或实际上是从OS Shell
adb shell am startservice
DonGru answered 2020-06-26T20:15:00Z
1 votes
对于仍对如何定义服务名参数感到困惑的任何人,正斜杠会在完全限定的类名中紧随应用程序包名称之后。
因此,给出了一个应用程序包名称:app.package.name.example.package.path.MyServiceClass
并提供以下服务的完整途径:app.package.name.example.package.path.MyServiceClass
然后,该命令将如下所示:
adb shell am startservice app.package.name/.example.package.path.MyServiceClass
TheIT answered 2020-06-26T20:15:33Z
android adb 命令启动,如何从adb shell启动和停止android服务?相关推荐
- 已配置好环境,在CMD中输入adb命令,还是提示“‘adb‘ 不是内部或外部命令,也不是可运行程序或批处理文件”的解决方法
前提:win10环境,已在系统变量中配置好ANDROID_HOME,且确认无误,cmd输入adb命令,还是提示"'adb' 不是内部或外部命令,也不是可运行程序或批处理文件" 百度 ...
- python执行adb命令_Python实现对adb命令封装
我就废话不多说了,大家还是直接看代码吧! #!/usr/bin/evn python # -*- coding:utf-8 -*- # FileName adbtools.py # Author: H ...
- Android常用命令行——gradlew,adb,adb shell
gradlew 下面全是针对 windows 操作系统的.如果是 Linux / Mac 请直接用 ./ 前缀. gradlew clean //类似 Clean Project gradlew -v ...
- adb命令重置_android-通过ADB清除数据/恢复出厂设置
经过大量的研究,我最终下载了Android恢复部分的源代码. 事实证明,您实际上可以向恢复发送命令. * The arguments which may be supplied in the reco ...
- python调用adb shell命令_Python之使用adb shell命令启动应用的方法详解
Python之使用adb shell命令启动应用的方法详解 一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具 ...
- adb模拟三指划动,ADB命令系列之 adb shell input(Android模拟输入)简单总结
最近开发一个新的接口,在调试的时候要手动输入蛮多参数,关键是参数又都太长,就专门看了下 adb 有木有模拟输入,果然adb shell里是有的.这样以后开发调试.自动化测试等就更加方便了.专门简单总结 ...
- 使用adb命令控制Android
adb shell input text hello //把hello这个内容传到有焦点的EditText之类的控件上 adb shell input keyevent 3 //相当于按下home键, ...
- Android adb命令,linux中各种命令
常用的ADB命令 1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器 ...
- android studio adb 命令行,Android Studio如何配置adb以及经常使用命令
用Android Studio一年多了,都没有使用其调试adb,今天就分享adb配置的方法,分享给你们.android 直接打开电脑-属性-高级配置-环境变量.web 这里我用图示范给你们:sql 这 ...
- android 代码发adb,Android预安装软件adb命令编译源码
Android预安装软件&adb命令&编译源码 发布时间:2020-06-02 17:28:41 来源:51CTO 阅读:895 作者:年少的风 1.预安装软件: 将eclipse下的 ...
最新文章
- 为什么2100万个BTC发行总量少了0.0231?
- PostgreSQL在函数内返回returning
- Android IOS WebRTC 音视频开发总结(十)-- webrtc入门002
- springBoot搭建activiti工作流
- 浙江大华2011.10.10校园招聘会笔试题
- ASP.NET 打包多CSS或JS文件以加快页面加载速度的Handler
- 计算机一级ie浏览器和电子邮件,2016年职称计算机考试Internet基础知识:利用IE收发电子邮件...
- 3n+1b 备忘录方法
- Python退出命令-为什么要使用这么多?何时使用?
- 小议使用“完整”的CSS的缺点
- 四种插入数据的MySQL语句比较
- python vba 区别_VBA和Python该学哪个?
- java多线程编程书籍-线程、多线程、Java平台实现
- 「离散数学」【试卷一试题与答案】[推荐学习]
- 资深行业专家王煜全的演讲:“移动互联网中的产品创新机会”
- JAVA广度优先搜索---寻找从A点到B点最短路径
- 三、C++的常用STL
- 2-1. 厘米换算英尺英寸(15)
- 带你了解现有UWB技术及原理
- C++ random库