| 12 | } |
| 13 | |
| 14 | bool InvokeApp::parse(const json::value& config) |
| 15 | { |
| 16 | static const json::array kDefaultAbilistArgv = { |
| 17 | "{ADB}", "-s", "{ADB_SERIAL}", "shell", "getprop ro.product.cpu.abilist | tr -d '\n\r'", |
| 18 | }; |
| 19 | static const json::array kDefaultSdkArgv = { |
| 20 | "{ADB}", "-s", "{ADB_SERIAL}", "shell", "getprop ro.build.version.sdk | tr -d '\n\r'", |
| 21 | }; |
| 22 | static const json::array kDefaultPushBinArgv = { |
| 23 | "{ADB}", "-s", "{ADB_SERIAL}", "push", "{BIN_PATH}", "/data/local/tmp/{BIN_WORKING_FILE}", |
| 24 | }; |
| 25 | static const json::array kDefaultChmodBinArgv = { |
| 26 | "{ADB}", "-s", "{ADB_SERIAL}", "shell", "chmod 700 \"/data/local/tmp/{BIN_WORKING_FILE}\"", |
| 27 | }; |
| 28 | static const json::array kDefaultInvokeBinArgv = { |
| 29 | "{ADB}", |
| 30 | "-s", |
| 31 | "{ADB_SERIAL}", |
| 32 | "shell", |
| 33 | "export LD_LIBRARY_PATH=/data/local/tmp/; \"/data/local/tmp/{BIN_WORKING_FILE}\" " |
| 34 | "{BIN_EXTRA_PARAMS} 2>&1", |
| 35 | }; |
| 36 | static const json::array kDefaultInvokeAppArgv = { |
| 37 | "{ADB}", |
| 38 | "-s", |
| 39 | "{ADB_SERIAL}", |
| 40 | "shell", |
| 41 | "export CLASSPATH=\"/data/local/tmp/{APP_WORKING_FILE}\"; app_process /data/local/tmp " |
| 42 | "{PACKAGE_NAME}", |
| 43 | }; |
| 44 | static const json::array kDefaultRemoveFileArgv = { |
| 45 | "{ADB}", "-s", "{ADB_SERIAL}", "shell", "rm \"/data/local/tmp/{TO_REMOVED_FILE}\"", |
| 46 | }; |
| 47 | return parse_command("Abilist", config, kDefaultAbilistArgv, abilist_argv_) && parse_command("SDK", config, kDefaultSdkArgv, sdk_argv_) |
| 48 | && parse_command("PushBin", config, kDefaultPushBinArgv, push_bin_argv_) |
| 49 | && parse_command("ChmodBin", config, kDefaultChmodBinArgv, chmod_bin_argv_) |
| 50 | && parse_command("InvokeBin", config, kDefaultInvokeBinArgv, invoke_bin_argv_) |
| 51 | && parse_command("InvokeApp", config, kDefaultInvokeAppArgv, invoke_app_argv_) |
| 52 | && parse_command("RemoveFile", config, kDefaultRemoveFileArgv, remove_file_argv_); |
| 53 | } |
| 54 | |
| 55 | bool InvokeApp::init(const std::string& force_temp) |
| 56 | { |
nothing calls this directly
no outgoing calls
no test coverage detected