一、adb启动activity:
apk的名字:adb shell,然后进入system/app或者data/app下面,有的可能在其它地方
包名:启动该app之后,进入adb shell,运行命令ps,可以看到当前运行的进程名,一般就是包名
/data/app 这是用户安装的软件存放目录。
/system/app这是系统自带软件的存放目录。
![]()
$ adb shell
$ am start -n {包(package)名}/{包名}.{活动(activity)名称}
$ am start -n {包(package)名}/{包名}.{活动(activity)名称}
如:启动浏览器
# am start -n com.android.browser/com.android.browser.BrowserActivity
二、adb启动service:
$ adb shell
$ am startservice -n {包(package)名}/{包名}.{服务(service)名称}
$ am startservice -n {包(package)名}/{包名}.{服务(service)名称}
如:启动自己应用中一个service
# am startservice -n com.android.traffic/com.android.traffic.maniservice
三、adb发送broadcast:
$ adb shell
$
am broadcast -a <广播动作>
如:发送一个网络变化的广播
# am broadcast -a android.net.conn.CONNECTIVITY_CHANGE
app的名字:菜单->管理应用程序->所有
apk的名字:adb shell,然后进入system/app或者data/app下面,有的可能在其它地方
包名:启动该app之后,进入adb shell,运行命令ps,可以看到当前运行的进程名,一般就是包名
- /data/data/
- adb shell
/system/app这是系统自带软件的存放目录。
更改命令行最多显示行数
提取应用信息
ArrayList<AppPackageInfo> appList = new ArrayList<AppPackageInfo>();
List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
for(int i=0;i<packages.size();i++) {
PackageInfo packageInfo = packages.get(i);
AppPackageInfo tmpInfo = new AppPackageInfo();
tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
tmpInfo.packageName = packageInfo.packageName;
tmpInfo.versionName = packageInfo.versionName;
tmpInfo.versionCode = packageInfo.versionCode;
tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());
appList.add(tmpInfo);
Log.i("tag", tmpInfo.packageName);
}