我有一个ADB命令要在命令提示符中执行。此命令的目的是测试我的应用程序上的Google Analytics Campaign Measurement实现。
以下代码是命令:
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"
此命令向app发送广播,因此当我访问" referrer" 参数时,我可以获取此字符串:
"utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"
然而,在测试该代码之后,我唯一能得到的价值是:
"utm_source=testSource"
然后我记得"&" 字符表示命令提示符中的ESCAPE。所以,我尝试使用" ^&" 而不是"&" ,但我得到了这样的结果:
"utm_source=testSource^"
如何获得完整的字符串?或者我应该将什么添加到我的代码中?
答案 0 :(得分:0)
使用\
代替^
adb基本上是在shell中执行命令而不是在Windows命令提示符下执行。 ^
在Windows命令提示符中转义字符,但在shell中,您必须使用\
答案 1 :(得分:0)
以前遇到过同样的问题。您需要做的是先键入adb shell
,然后按Enter键。继续以shell模式填写其他命令。
&
字符在shell模式下工作正常!