-
2021-02-22 18:59:26
DeepLink在adb shell命令模拟时,如果有多个参数,& 符号之前要加 \ 进行转义,否则后面的参数收不到。
解决方法:$ adb shell am start -W -a android.intent.action.VIEW -d "scheme://host?package=com.tencent.mm\&isNeedComment=true"
更多相关内容 -
adb启动app 带参数
2021-03-10 19:59:59adb shell am start -n 包名/acitivity路径 --es key value 比如adb shell am start -n com.test.aa/com.test.aa.MainActivity--es key value 相当于 val intent = Intent(context,MainActivity::class.java...adb shell am start -n 包名/acitivity路径 --es key value
比如 adb shell am start -n com.test.aa/com.test.aa.MainActivity --es key value
相当于
val intent = Intent(context,MainActivity::class.java) intent.putExtra("key","value") startActivity(intent)
相关参数解释
--es key stringValue; 传递 String 参数;
--ez key booleanValue; 传递 Boolean 参数;
--ei key intValue; 传递 int 参数;
--el key longValue; 传递 long 参数;
--ef key floatValue; 传递 float 参数;
————————————————
版权声明:本文为CSDN博主「luguangxu68」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/luguangxu68/article/details/99828329 -
多个Activity参数传递
2014-08-15 12:08:34Activity转到other Activity package cn.itcast.activitys; import android.app.Activity;...public class MainActivity extends Activity ... super.onCreate(Bundle savedInstanceState);... setContentViewActivity转到other Activity
package cn.itcast.activitys;
import android.app.Activity;
public class MainActivity extends Activity
{
super.onCreate(Bundle savedInstanceState);
setContentView(R.layout.main);
}
public void openActivity(View v)
{
Intent intent = new Intent();
intent.setClassName("cn.itcast.activitys", "cn.itcast.activitys.OtherActivity");
// 1>intent.setClass(this,OtherActivity.class);
// 2>intent.setClassName(this, "cn.itcast.activitys.OtherActivity");
// 3>intent.setComponent(new ComponentName(this,OtherActivity.class));
// 4>Intent intent=new Intent(this,OtherActivity.class); //独立一句
/*附加数据方法一*/
intent.putExtra("name","李明");
intent.putExtra("age",5);
/*方法二*/
Bundle bundle= new Bundle();
bundle.putString("name","CC");
bundle.putInt("age",10);
intent.putExtras(bundle);
startActivity(intent);
}
OtherActivity:
package cn.itcast.activitys;
import android.app.Activity;
import android.os.Bundle;
public class OtherActivity extends Activity
{
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.otheractivity);
Intent intent = getIntent(); //用于激活它的意图对象
/*方法一*/
String name=intent.getStringExtra("name");
int age=intent.getIntExtra("age",0);
/*方法二*/
Bundle bundle = intent.getExtras();
String name=bundle.getString("name");
int age = bundle.getInt("age");
}
}
OtherActivity关闭把数据返回给MainActivity
替换startActivity();为startActivityForResult(intent,200); //请求码用来区分返回数据在哪个位置
处理得到的数据重写方法
protected void onActivityResult(int requestCode,int resultCode,Intent data)
{
String result=data.getStringExtra("result");
Toast.makeText(this,result,1).show();
}
OtherActivity:
public void closeActivity(View v)
{
Intent data = new Intent();
data.putExtra("result","mmmccc");
setResult(30,data); //结果码用来表示返回数据在哪个位置
this.finish();
} -
adb shell am instrument 命令详解(调试参数传递)
2021-03-01 11:13:51用于启动一个Instrumentation测试。首先连接手机或者模拟器,通过adb shell命令,进入shell层进行操作。 2 命令格式及参数解读(来自官网) 格式:instrument [options]component 目标component是表单test_...官网关于该命令的详解:点击查看
1 Instrument是什么?
instrument为am命令的一个子命令。用于启动一个Instrumentation测试。首先连接手机或者模拟器,通过adb shell命令,进入shell层进行操作。
2 命令格式及参数解读(来自官网)
格式:instrument [options] component
目标
component
是表单test_package/runner_class,在UiAutomator2.0中,目标
component
为:测试包名/android.support.test.runner.AndroidJUnitRunner(即运行器固定:AndroidJUnitRunner类是一个JUnit测试运行器,允许运行JUnit 3或JUnit 4测试类在 Android 设备上,包括那些使用Espresso和UI Automator框架。)各项参数:
-r
:以原始形式输出测试结果;该选项通常是在性能测试时与[-e perf true]
一起使用。-e name value
:提供了以键值对形式存在的过滤器和参数。例如:-e testFile <filePath>(运行文件中指定的用例);-e package <packageName>(运行这个包中的所有用例)…… 有十几种。-p file
:将分析数据写入file
。-w
:测试运行器需要使用此选项。-w <test_package_name>/<runner_class> :<test_package_name>和<runner_class>在测试工程的AndroidManifest.xml中查找,作用是保持adb shell打开直至测试完成。--no-window-animation
:运行时关闭窗口动画。--user user_id | current
:指定仪器在哪个用户中运行;如果未指定,则在当前用户中运行。
3 怎么运行手机中现有的instrumentation, 并输出详细结果,同时将profiling性能数据写到本地文件中?
- 先列出手机中已安装的instrumentation:adb shell pm list instrumentation
- adb shell am instrument XXX
4 命令的具体使用,比如com.le.tcauto.uitest.test是包含所有测试代码的应用的包名:(来自:http://blog.csdn.net/swordgirl2011/article/details/50881390)
- 运行所有的用例: adb shell am instrument -w com.le.tcauto.uitest.test/android.support.test.runner.AndroidJUnitRunner
- 运行一个类中的所有用例:
adb shell am instrument -w -r -e class com.letv.leview.setproxy com.le.tcauto.uitest.test/android.support.test.runner.AndroidJUnitRunner
- 运行类中的某个方法:adb shell am instrument -w -r -e debug false -e class com.letv.leview.setproxy#testDemo com.le.tcauto.uitest.test/android.support.test.runner.AndroidJUnitRunner
- 运行多个类的所有用例:adb shell am instrument -w -r -e debug false -e class com.letv.leview.setproxy,com.letv.leview.resetdate com.le.tcauto.uitest.test/android.support.test.runner.AndroidJUnitRunner
- 运行所有测试用例除了指定的类:adb shell am instrument -w -r -e notClass com.letv.leview.setproxy com.le.tcauto.uitest.test/android.support.test.runner.AndroidJUnitRunner
- 运行所有测试除了指定的用例:adb shell am instrument -w -r -e debug false -e class com.letv.leview.setproxy#testDemo com.le.tcauto.uitest.test/android.support.test.runner.AndroidJUnitRunner
- 运行文件中的所列的用例:adb shell am instrument -w -e testFile /sdcard/tmp/testFile.txt com.android.foo/com.android.test.runner.AndroidJUnitRunner 文件制定的 格式为:com.android.foo.FooClaseName#testMethodName
- 运行指定测试切片的用例:adb shell am instrument -w -e numShards 4 -e shardIndex 1 com.android.foo/android.support.test.runner.AndroidJUnitRunner
- 运行指定注解的测试用例:adb shell am instrument -w -e annotation com.android.foo.MyAnnotation com.android.foo/android.support.test.runner.AndroidJUnitRunner。如果使用多个选项,则运行的用例为两者的交集,比如:“-e size large -e annotation com.android.foo.MyAnnotation”,将只运行同时含LargeTest和MyAnnotation注解的用例。
- 运行没有指定注解的用例:adb shell am instrument -w -e notAnnotation com.android.foo.MyAnnotation com.android.foo/android.support.test.runner.AndroidJUnitRunner,指定多个注解,用“,”隔开,e.g. adb shell am instrument -w -e notAnnotation com.android.foo.MyAnnotation,com.android.foo.AnotherAnnotation com.android.foo/android.support.test.runner.AndroidJUnitRunner
- 以上所有参数也可以通过<meta-data>标签配置在AndroidManifest文件,比如 <meta-data android:name="listener" android:value="com.foo.Listener"/>,通过shell命令 传入的参数将覆盖AndroidManifest文件中配置的参数。
5 使用Instrument命令传递调试参数
使用命令传递调试参数可以使我们的测试代码更灵活的测试需要测试的数据与格式,对于同一种场景不同格式的参数今天代码复用。
使用命令将参数传递过去也非常简单:
adb shell am instrument -w -m -e testPathName androidTest -e testFileName test_mp3.mp3 -e targetName 你好.mp3 -e targetFilePath '/sdcard/androidTest/copyPath/test_mp3.mp3' -e debug false -e class class com.letv.leview.setproxy#testDemo com.le.tcauto.uitest.test/android.support.test.runner.AndroidJUnitRunner
代码中接收参数(google已经帮我们放入bundle中):
Bundle extras = InstrumentationRegistry.getArguments(); if (extras != null) { testPathName = extras.getString("testPathName"); testFileName = extras.getString("testFileName"); targetPathName = extras.getString("targetPathName"); targetFilePath = extras.getString("targetFilePath"); }
注意:当传递参数是路径的时候需要加引号:-e targetFilePath '/sdcard/androidTest/copyPath/test_mp3.mp3' ,在调试过程中如调试失败,看下参数传递是否需要注意格式
6 开始容易写错?
AS ——Select Run/Debug —— Configuration ——Edit Configuration ——配置 ——OK
运行完成,下方会显示该命令,然后copy过来。
-
Activity跳转(有返回数据跳转)以及传递参数和回传参数
2021-06-04 12:05:30使用Bundle在Activity之间传递数据Bundle类是一个key-value对,是一个final类两个Activity之间通信可以用Bundle类实现步骤:新建一个Bundle类Bundle bundle=new Bundle();bundle类中加入数据(key-value的形式)bundle... -
android studio 使用adb命令传递文件到android设备
2021-05-13 02:20:29一:文件传输在android开发中,有时候需要将文件从pc端传递至android,或者将软件运行的日志,从android设备传递到pc进行分析,我们可以使用windows的cmd窗口,或者android studio的terminal窗口来传递文件。... -
android studio 使用adb 命令传递文件到android 设备的方法
2020-12-30 15:35:39一:文件传输在android开发中,有时候需要将文件从pc端传递至android,或者将软件运行的日志,从android设备传递到pc进行分析,我们可以使用windows的cmd窗口,或者android studio的terminal窗口来传递文件。... -
android 通过adb发送广播
2020-08-10 16:50:39参考博客: ... 通过命令行执行adb shell am ...adb shell am broadcast 后面的参数有: [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-c <CATEGORY> [-c <CATEGORY>] ...] [-... -
Python之使用adb shell命令启动应用的方法详解
2020-12-04 14:23:06Python之使用adb shell命令启动应用的方法详解一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具有局限性,尤其是ID的内容不便于区分... -
adb应用程序无法正常启动_Android 性能优化之App 启动时间
2020-10-23 10:50:53应用启动时间概述2.了解应用启动内部机制3.冷启动4.app 创建5.Activity创建6.热启动7.暖启动8.检测和诊断app 启动问题9.分析app 启动时间10.CPU Profiler11.常见问题举例12.分析诊断 app 启动时间13.添加屏幕启... -
adb shell ip命令参数说明
2017-03-16 08:59:56...ip是iproute2软件包里面的一个强大的网络配置工具,本文将介绍ip命令及其选项。 Ip命令的语法: ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] OPTIONS: 其中,OPTIONS是一些修 -
从Android Studio重新启动ADB(Restart ADB from Android Studio)
2021-06-04 17:09:42从Android Studio重新启动ADB(Restart ADB from Android Studio)我以前在Eclipse上开发并刚刚迁移到Android Studio。 一切正常,它更好,更快。我在真实设备上工作,Android Studio可以毫无问题地识别它。但是,当我... -
全网最全ADB命令,没有之一
2021-10-08 16:31:57ADB,全名Android Debug Bridge,是Android提供的一个通用的调试工具,是一个C/S架构的命令行工具,通过这个工具,使得我们的PC能够和Android设备来进行通信。 -
ADB常用命令及其用法大全
2019-02-23 22:03:15本文主要记述ADB的常用命令,关于ADB用法大全,可参考文末链接 ADB简介: ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android ... -
Android ADB 命令详解
2020-11-12 11:23:36它是一种客户端-服务器程序,包括以下三个组件: 客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。 守护程序 (adbd):用于在设备上运行命令。守护程序在 -
Android studio-adb详解
2021-04-07 09:57:56Android 调试桥(adb) Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的... -
Android 常用 adb 命令
2020-12-21 16:52:18更多文章:一、基础操作安装appadb install -r xxx.apk //覆盖安装,保留数据和缓存文件adb install -s xxx.apk //安装apk到sd卡adb install -f xxx.apk //安装apk到内部系统内存adb install -d xxx.apk //安装低... -
SpringBoot 命令行传入参数指定配置文件启动 集成nacos
2021-10-14 09:44:09SpringBoot 命令行传入参数指定配置文件启动添加多配置IDEA中配置启动参数重点bat脚本shell脚本启动方式bat脚本shell脚本![请... -
adb中常用的命令
2020-12-23 19:06:59进程线程有关在adb shell中adb shell pseg:capricorn:/ # psUSER PID PPID VSIZE RSS WCHAN PC NAMEroot 1 0 16468 1628 SyS_epoll_ 00004c809c S /initroot 2 0 0 ... -
pyadb关于python操作adb的资料
2020-12-21 14:26:05这里举几个pyapp里实现的功能例子:获取,修改手机当前使用的输入法(adb shell ime list),获取当前手机界面的活动activity(adb shell dumpsys activity activities),安装,卸载,启动app,点击,划屏,长按,硬件... -
oracle – 我想将一个变量参数传递给外部SQL文件(带有SQL * Plus的PL / SQL)
2021-05-01 06:13:36我想使用多个sql文件,而一个sql文件是执行带参数的其他sql文件的控制文件.该文件名为:startup.sql我有一个包含所有值的表(不介意列的名称,我为我的帖子更改了它们).create table control (S varchar2(15) not... -
windows查看usb信息命令_ADB命令你知道多少?ADB冻结系统应用?
2020-12-05 18:40:39Android 调试桥 (adb,全称 Android dubug bridge) 是一种功能多样的命令行工具,可让您与设备进行通信。...用这一个命令可以实现对手机上的应用进行安装、删除操作,也可以执行对系统应用的删除(... -
adb常用命令
2022-01-01 16:17:342、启动adb server命令:adb start-server 3、停止adb server命令:adb kill-server 4、重启设备:adb reboot 5、屏幕截图:adb shell screencap /sdcard/Download/screen.png 6、屏幕录制:adb shell ... -
❤️ Android 应用是如何启动的?❤️
2021-09-30 17:51:59作为多年的 Android 开发,写了不少应用,但是一个App到底是怎么启动起来的?你要说桌面点一下就启动了,那也对。但是它的启动过程呢?带着这样的疑问,咱们来一步步学习。 Android 启动过程 一般在任何平台上,... -
在命令行中通过adb shell am broadcast发送广播通知以及Android的常用adb命令
2019-01-29 16:28:47转载自:... 通过命令行执行adb shell am broadcast发送广播通知。 ...adb shell am broadcast 后面的参数有: [-a <ACTION>] [-d <DATA_... -
ADB常用命令使用
2020-05-02 17:58:59adb介绍 adb的全称为Android Debug Bridge,就是...adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备. 它的主要功能有: * 运行设备的shell(命令行) * 管理模拟器或... -
bat批处理与adb命令的配合
2019-05-17 15:14:41和安卓系统打交道,难免用到adb命令;和很多安卓硬件打交道,就要大量用到adb命令,如果一个一个写就太累了,在windows系统下还是借助批处理吧。 -
【测试人必备】常用adb命令
2022-03-14 16:21:34如果发现多个设备: adb-s设备号其他指令 举例: adb-sdevicelinstallxxx.apk 查看顶部Activity: windows环境下: adbshelldumpsysactivity|findstr"mFocusedActivity" ...