【问题标题】:Android - ADB Command in Command Prompt (Windows)Android - 命令提示符中的 ADB 命令 (Windows)
【发布时间】:2014-12-05 06:12:31
【问题描述】:

我有一个要在 命令提示符 中执行的 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"

这个命令向应用发送广播,所以当我访问 "referrer" 参数时,我可以得到这个字符串:

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

但是,在测试该代码之后,我能得到的唯一值是:

"utm_source=testSource"

然后我记得“&”字符在命令提示符中表示ESCAPE。所以,我尝试使用 "^&" 而不是 "&",但我得到了这个结果:

"utm_source=testSource^"

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

【问题讨论】:

    标签: android google-analytics adb command-prompt


    【解决方案1】:

    \ 转义它而不是^

    adb 基本上是在 shell 中执行命令,而不是在 Windows 命令提示符下。 ^ 在 Windows 命令提示符中转义字符,但在 shell 中,您必须使用 \

    【讨论】:

    • 您的意思是使用\& 而不是^&?我试过了,但我得到了这个输出:"utm_source=testSource\"。仍然不是一个完整的字符串。请帮忙!
    • 可以进入shell执行吗?键入adb shell 并回车,然后尝试执行am broadcast... 命令。是的,使用\&
    【解决方案2】:

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

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

    【讨论】:

    • 请解释为什么这应该解决问题以及它是如何工作的。请参阅this page 以获得指导
    猜你喜欢
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2022-06-20
    • 2014-04-05
    相关资源
    最近更新 更多