From 103618c2ebc51e4455ee4dc06301834777f74a0c Mon Sep 17 00:00:00 2001 From: Baldur Karlsson Date: Mon, 12 Mar 2018 13:57:21 +0000 Subject: [PATCH] Add error messages if RenderDoc app fails to install --- renderdoc/android/android.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/renderdoc/android/android.cpp b/renderdoc/android/android.cpp index ddd9f7763..091213735 100644 --- a/renderdoc/android/android.cpp +++ b/renderdoc/android/android.cpp @@ -263,7 +263,10 @@ bool InstallRenderDocServer(const std::string &deviceID) std::vector abis = GetSupportedABIs(deviceID); if(abis.empty()) + { + RDCERR("Couldn't determine supported ABIs for %s", deviceID.c_str()); return false; + } // Check known paths for RenderDoc server std::string exePath; @@ -330,13 +333,16 @@ bool InstallRenderDocServer(const std::string &deviceID) } // Ensure installation succeeded. We should have as many lines as abis we installed - std::string adbCheck = - adbExecCommand(deviceID, "shell pm list packages " RENDERDOC_ANDROID_PACKAGE_BASE).strStdout; + Process::ProcessResult adbCheck = + adbExecCommand(deviceID, "shell pm list packages " RENDERDOC_ANDROID_PACKAGE_BASE); - if(adbCheck.empty()) + if(adbCheck.strStdout.empty()) + { + RDCERR("Couldn't find any installed APKs. stderr: %s", adbCheck.strStderror.c_str()); return false; + } - size_t lines = adbCheck.find('\n') == std::string::npos ? 1 : 2; + size_t lines = adbCheck.strStdout.find('\n') == std::string::npos ? 1 : 2; if(lines != abis.size()) RDCWARN("Installation of some apks failed!"); @@ -515,7 +521,10 @@ extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_StartAndroidRemoteServer(co { // If server is not detected or has been removed due to incompatibility, install it if(!Android::InstallRenderDocServer(deviceID)) + { + RDCERR("Failed to install RenderDoc server app"); return; + } } // stop all servers of any ABI