私が活動にJSON引数を送信しようとしている、と私は、次のようなコマンドを経由して、そうすることはできませんようにそれはそう:保存JSON相場
adb shell am start -n <activity> -e argument_name '{"blah":"blah"}'
任意の二重引用符私のアプリがそれらを取得するとJSON文字列の内部が取り除かれます( "blah": "blah"はblah:blahになります)。最初にadbシェルを起動してから、引用符が取り除かれないように起動する必要があります。これはWindows Powershellで発生します。
私はthe solution suggested here by Jerry101 (i.e. custom handling of quotes)を試しましたが、それは役に立ちませんでした。私はPowershellスクリプトからアンドロイドアプリの起動を自動化したいので、まずシェルに入りたくないのです。これは、上の例のように(one-linerとして)シェルにコマンドを起動するadbシェルコマンドを実行することを意味します。
これはLinux用のものではありません。 "\"の代わりにPowershellのエスケープ文字を使用する必要があります – Chisko
[引用符と二重引用符をエスケープする]の重複可能性があります(http://stackoverflow.com/questions/18116186/escaping-quotes-and-double-quotes) – Chisko
'echo 'am start -n -e argument_name' '{"blah": "blah"}' '' | adb shell' –