2014-12-05 151 views
0

我有一个要在命令提示符下执行的命令提示符。此命令的目的是在我的应用程序上测试Google Analytics Campaign Measurement实现。Android - 命令提示符下的ADB命令(Windows)

下面的代码是命令:

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n com.example.androidapp/.app.service.CustomReceiver --es "referrer" "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign" 

这个命令发送广播的应用程序,所以当我访问“引荐”参数,我能得到这个字符串:

"utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign" 

然而,在测试完代码后,我能得到的唯一数值是:

"utm_source=testSource" 

然后我记得“&”字符意思是ESCAPE在命令提示符。所以,我试图用“^ &”代替“&”,但我得到这样的结果:

"utm_source=testSource^" 

如何获得完整的字符串?或者我应该添加到我的代码?

回答

0

\代替^

ADB在外壳和基本上不执行在Windows命令提示命令转义。 ^转义Windows命令提示符中的字符,但在shell中,您将不得不使用\

+0

你是不是用'\&'代替'^&'?我试过了,但我得到了这个输出:''utm_source = testSource \“'。仍然不是完整的字符串。请帮忙! – Harry 2014-12-05 06:48:54

+1

你可以进入shell并执行它吗?输入'adb shell'并按下回车键,然后尝试执行'am broadcast ...'命令。是的,使用'\&' – JoelFernandes 2014-12-05 06:59:37

+0

太棒了!即使没有“反斜杠”或“^”,它也可以工作! – Harry 2014-12-05 07:05:37

0

以前遇到同样的问题。你需要做的是先输入adb shell,然后按Enter键。继续在shell模式下填充其他命令。

&字符在shell模式下工作正常!

+1

请添加一个解释为什么这应该解决问题以及它是如何工作的。请参阅[本页](http://stackoverflow.com/help/how-to-answer)以获取指导 – Tensibai 2015-04-22 09:50:04