Loading adb/client/adb_install.cpp +49 −50 Original line number Original line Diff line number Diff line Loading @@ -201,7 +201,8 @@ static int install_app_streamed(int argc, const char** argv, bool use_fastdeploy #else #else error_exit("fastdeploy is disabled"); error_exit("fastdeploy is disabled"); #endif #endif } else { } struct stat sb; struct stat sb; if (stat(file, &sb) == -1) { if (stat(file, &sb) == -1) { fprintf(stderr, "adb: failed to stat %s: %s\n", file, strerror(errno)); fprintf(stderr, "adb: failed to stat %s: %s\n", file, strerror(errno)); Loading @@ -218,7 +219,7 @@ static int install_app_streamed(int argc, const char** argv, bool use_fastdeploy posix_fadvise(local_fd.get(), 0, 0, POSIX_FADV_SEQUENTIAL | POSIX_FADV_NOREUSE); posix_fadvise(local_fd.get(), 0, 0, POSIX_FADV_SEQUENTIAL | POSIX_FADV_NOREUSE); #endif #endif const bool use_abb = can_use_feature(kFeatureAbb); const bool use_abb = can_use_feature(kFeatureAbbExec); std::string error; std::string error; std::vector<std::string> cmd_args = {use_abb ? "package" : "exec:cmd package"}; std::vector<std::string> cmd_args = {use_abb ? "package" : "exec:cmd package"}; cmd_args.reserve(argc + 3); cmd_args.reserve(argc + 3); Loading @@ -235,8 +236,7 @@ static int install_app_streamed(int argc, const char** argv, bool use_fastdeploy // add size parameter [required for streaming installs] // add size parameter [required for streaming installs] // do last to override any user specified value // do last to override any user specified value cmd_args.push_back("-S"); cmd_args.push_back("-S"); cmd_args.push_back( cmd_args.push_back(android::base::StringPrintf("%" PRIu64, static_cast<uint64_t>(sb.st_size))); android::base::StringPrintf("%" PRIu64, static_cast<uint64_t>(sb.st_size))); if (is_apex) { if (is_apex) { cmd_args.push_back("--apex"); cmd_args.push_back("--apex"); Loading Loading @@ -264,7 +264,6 @@ static int install_app_streamed(int argc, const char** argv, bool use_fastdeploy fprintf(stderr, "adb: failed to install %s: %s", file, buf); fprintf(stderr, "adb: failed to install %s: %s", file, buf); return 1; return 1; } } } static int install_app_legacy(int argc, const char** argv, bool use_fastdeploy, static int install_app_legacy(int argc, const char** argv, bool use_fastdeploy, bool use_localagent) { bool use_localagent) { Loading adb/transport.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -65,8 +65,10 @@ extern const char* const kFeaturePushSync; extern const char* const kFeatureApex; extern const char* const kFeatureApex; // adbd has b/110953234 fixed. // adbd has b/110953234 fixed. extern const char* const kFeatureFixedPushMkdir; extern const char* const kFeatureFixedPushMkdir; // adbd supports android binder bridge (abb). // adbd supports android binder bridge (abb) in interactive mode using shell protocol. extern const char* const kFeatureAbb; extern const char* const kFeatureAbb; // adbd supports abb using raw pipe. extern const char* const kFeatureAbbExec; // adbd properly updates symlink timestamps on push. // adbd properly updates symlink timestamps on push. extern const char* const kFeatureFixedPushSymlinkTimestamp; extern const char* const kFeatureFixedPushSymlinkTimestamp; extern const char* const kFeatureRemountShell; extern const char* const kFeatureRemountShell; Loading Loading
adb/client/adb_install.cpp +49 −50 Original line number Original line Diff line number Diff line Loading @@ -201,7 +201,8 @@ static int install_app_streamed(int argc, const char** argv, bool use_fastdeploy #else #else error_exit("fastdeploy is disabled"); error_exit("fastdeploy is disabled"); #endif #endif } else { } struct stat sb; struct stat sb; if (stat(file, &sb) == -1) { if (stat(file, &sb) == -1) { fprintf(stderr, "adb: failed to stat %s: %s\n", file, strerror(errno)); fprintf(stderr, "adb: failed to stat %s: %s\n", file, strerror(errno)); Loading @@ -218,7 +219,7 @@ static int install_app_streamed(int argc, const char** argv, bool use_fastdeploy posix_fadvise(local_fd.get(), 0, 0, POSIX_FADV_SEQUENTIAL | POSIX_FADV_NOREUSE); posix_fadvise(local_fd.get(), 0, 0, POSIX_FADV_SEQUENTIAL | POSIX_FADV_NOREUSE); #endif #endif const bool use_abb = can_use_feature(kFeatureAbb); const bool use_abb = can_use_feature(kFeatureAbbExec); std::string error; std::string error; std::vector<std::string> cmd_args = {use_abb ? "package" : "exec:cmd package"}; std::vector<std::string> cmd_args = {use_abb ? "package" : "exec:cmd package"}; cmd_args.reserve(argc + 3); cmd_args.reserve(argc + 3); Loading @@ -235,8 +236,7 @@ static int install_app_streamed(int argc, const char** argv, bool use_fastdeploy // add size parameter [required for streaming installs] // add size parameter [required for streaming installs] // do last to override any user specified value // do last to override any user specified value cmd_args.push_back("-S"); cmd_args.push_back("-S"); cmd_args.push_back( cmd_args.push_back(android::base::StringPrintf("%" PRIu64, static_cast<uint64_t>(sb.st_size))); android::base::StringPrintf("%" PRIu64, static_cast<uint64_t>(sb.st_size))); if (is_apex) { if (is_apex) { cmd_args.push_back("--apex"); cmd_args.push_back("--apex"); Loading Loading @@ -264,7 +264,6 @@ static int install_app_streamed(int argc, const char** argv, bool use_fastdeploy fprintf(stderr, "adb: failed to install %s: %s", file, buf); fprintf(stderr, "adb: failed to install %s: %s", file, buf); return 1; return 1; } } } static int install_app_legacy(int argc, const char** argv, bool use_fastdeploy, static int install_app_legacy(int argc, const char** argv, bool use_fastdeploy, bool use_localagent) { bool use_localagent) { Loading
adb/transport.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -65,8 +65,10 @@ extern const char* const kFeaturePushSync; extern const char* const kFeatureApex; extern const char* const kFeatureApex; // adbd has b/110953234 fixed. // adbd has b/110953234 fixed. extern const char* const kFeatureFixedPushMkdir; extern const char* const kFeatureFixedPushMkdir; // adbd supports android binder bridge (abb). // adbd supports android binder bridge (abb) in interactive mode using shell protocol. extern const char* const kFeatureAbb; extern const char* const kFeatureAbb; // adbd supports abb using raw pipe. extern const char* const kFeatureAbbExec; // adbd properly updates symlink timestamps on push. // adbd properly updates symlink timestamps on push. extern const char* const kFeatureFixedPushSymlinkTimestamp; extern const char* const kFeatureFixedPushSymlinkTimestamp; extern const char* const kFeatureRemountShell; extern const char* const kFeatureRemountShell; Loading