|
@@ -1819,7 +1819,7 @@ public:
|
|
p_debug_flags |= DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST;
|
|
p_debug_flags |= DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST;
|
|
}
|
|
}
|
|
|
|
|
|
- String tmp_export_path = EditorSettings::get_singleton()->get_cache_dir().plus_file("tmpexport.apk");
|
|
|
|
|
|
+ String tmp_export_path = EditorSettings::get_singleton()->get_cache_dir().plus_file("tmpexport." + uitos(OS::get_singleton()->get_unix_time()) + ".apk");
|
|
|
|
|
|
#define CLEANUP_AND_RETURN(m_err) \
|
|
#define CLEANUP_AND_RETURN(m_err) \
|
|
{ \
|
|
{ \
|
|
@@ -1836,6 +1836,7 @@ public:
|
|
|
|
|
|
List<String> args;
|
|
List<String> args;
|
|
int rv;
|
|
int rv;
|
|
|
|
+ String output;
|
|
|
|
|
|
bool remove_prev = p_preset->get("one_click_deploy/clear_previous_install");
|
|
bool remove_prev = p_preset->get("one_click_deploy/clear_previous_install");
|
|
String version_name = p_preset->get("version/name");
|
|
String version_name = p_preset->get("version/name");
|
|
@@ -1853,7 +1854,9 @@ public:
|
|
args.push_back("uninstall");
|
|
args.push_back("uninstall");
|
|
args.push_back(get_package_name(package_name));
|
|
args.push_back(get_package_name(package_name));
|
|
|
|
|
|
- err = OS::get_singleton()->execute(adb, args, nullptr, &rv);
|
|
|
|
|
|
+ output.clear();
|
|
|
|
+ err = OS::get_singleton()->execute(adb, args, &output, &rv, true);
|
|
|
|
+ print_verbose(output);
|
|
}
|
|
}
|
|
|
|
|
|
print_line("Installing to device (please wait...): " + devices[p_device].name);
|
|
print_line("Installing to device (please wait...): " + devices[p_device].name);
|
|
@@ -1868,7 +1871,9 @@ public:
|
|
args.push_back("-r");
|
|
args.push_back("-r");
|
|
args.push_back(tmp_export_path);
|
|
args.push_back(tmp_export_path);
|
|
|
|
|
|
- err = OS::get_singleton()->execute(adb, args, nullptr, &rv);
|
|
|
|
|
|
+ output.clear();
|
|
|
|
+ err = OS::get_singleton()->execute(adb, args, &output, &rv, true);
|
|
|
|
+ print_verbose(output);
|
|
if (err || rv != 0) {
|
|
if (err || rv != 0) {
|
|
EditorNode::add_io_error("Could not install to device.");
|
|
EditorNode::add_io_error("Could not install to device.");
|
|
CLEANUP_AND_RETURN(ERR_CANT_CREATE);
|
|
CLEANUP_AND_RETURN(ERR_CANT_CREATE);
|
|
@@ -1885,7 +1890,9 @@ public:
|
|
args.push_back(devices[p_device].id);
|
|
args.push_back(devices[p_device].id);
|
|
args.push_back("reverse");
|
|
args.push_back("reverse");
|
|
args.push_back("--remove-all");
|
|
args.push_back("--remove-all");
|
|
- OS::get_singleton()->execute(adb, args, nullptr, &rv);
|
|
|
|
|
|
+ output.clear();
|
|
|
|
+ OS::get_singleton()->execute(adb, args, &output, &rv, true);
|
|
|
|
+ print_verbose(output);
|
|
|
|
|
|
if (p_debug_flags & DEBUG_FLAG_REMOTE_DEBUG) {
|
|
if (p_debug_flags & DEBUG_FLAG_REMOTE_DEBUG) {
|
|
int dbg_port = EditorSettings::get_singleton()->get("network/debug/remote_port");
|
|
int dbg_port = EditorSettings::get_singleton()->get("network/debug/remote_port");
|
|
@@ -1896,7 +1903,9 @@ public:
|
|
args.push_back("tcp:" + itos(dbg_port));
|
|
args.push_back("tcp:" + itos(dbg_port));
|
|
args.push_back("tcp:" + itos(dbg_port));
|
|
args.push_back("tcp:" + itos(dbg_port));
|
|
|
|
|
|
- OS::get_singleton()->execute(adb, args, nullptr, &rv);
|
|
|
|
|
|
+ output.clear();
|
|
|
|
+ OS::get_singleton()->execute(adb, args, &output, &rv, true);
|
|
|
|
+ print_verbose(output);
|
|
print_line("Reverse result: " + itos(rv));
|
|
print_line("Reverse result: " + itos(rv));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1910,7 +1919,9 @@ public:
|
|
args.push_back("tcp:" + itos(fs_port));
|
|
args.push_back("tcp:" + itos(fs_port));
|
|
args.push_back("tcp:" + itos(fs_port));
|
|
args.push_back("tcp:" + itos(fs_port));
|
|
|
|
|
|
- err = OS::get_singleton()->execute(adb, args, nullptr, &rv);
|
|
|
|
|
|
+ output.clear();
|
|
|
|
+ err = OS::get_singleton()->execute(adb, args, &output, &rv, true);
|
|
|
|
+ print_verbose(output);
|
|
print_line("Reverse result2: " + itos(rv));
|
|
print_line("Reverse result2: " + itos(rv));
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -1938,7 +1949,9 @@ public:
|
|
args.push_back("-n");
|
|
args.push_back("-n");
|
|
args.push_back(get_package_name(package_name) + "/com.godot.game.GodotApp");
|
|
args.push_back(get_package_name(package_name) + "/com.godot.game.GodotApp");
|
|
|
|
|
|
- err = OS::get_singleton()->execute(adb, args, nullptr, &rv);
|
|
|
|
|
|
+ output.clear();
|
|
|
|
+ err = OS::get_singleton()->execute(adb, args, &output, &rv, true);
|
|
|
|
+ print_verbose(output);
|
|
if (err || rv != 0) {
|
|
if (err || rv != 0) {
|
|
EditorNode::add_io_error("Could not execute on device.");
|
|
EditorNode::add_io_error("Could not execute on device.");
|
|
CLEANUP_AND_RETURN(ERR_CANT_CREATE);
|
|
CLEANUP_AND_RETURN(ERR_CANT_CREATE);
|
|
@@ -2335,6 +2348,7 @@ public:
|
|
return ERR_FILE_CANT_OPEN;
|
|
return ERR_FILE_CANT_OPEN;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ String output;
|
|
List<String> args;
|
|
List<String> args;
|
|
args.push_back("sign");
|
|
args.push_back("sign");
|
|
args.push_back("--verbose");
|
|
args.push_back("--verbose");
|
|
@@ -2350,7 +2364,9 @@ public:
|
|
print_verbose("Signing debug binary using: " + String("\n") + apksigner + " " + join_list(args, String(" ")));
|
|
print_verbose("Signing debug binary using: " + String("\n") + apksigner + " " + join_list(args, String(" ")));
|
|
}
|
|
}
|
|
int retval;
|
|
int retval;
|
|
- OS::get_singleton()->execute(apksigner, args, nullptr, &retval);
|
|
|
|
|
|
+ output.clear();
|
|
|
|
+ OS::get_singleton()->execute(apksigner, args, &output, &retval, true);
|
|
|
|
+ print_verbose(output);
|
|
if (retval) {
|
|
if (retval) {
|
|
EditorNode::add_io_error("'apksigner' returned with error #" + itos(retval));
|
|
EditorNode::add_io_error("'apksigner' returned with error #" + itos(retval));
|
|
return ERR_CANT_CREATE;
|
|
return ERR_CANT_CREATE;
|
|
@@ -2368,7 +2384,9 @@ public:
|
|
print_verbose("Verifying signed build using: " + String("\n") + apksigner + " " + join_list(args, String(" ")));
|
|
print_verbose("Verifying signed build using: " + String("\n") + apksigner + " " + join_list(args, String(" ")));
|
|
}
|
|
}
|
|
|
|
|
|
- OS::get_singleton()->execute(apksigner, args, nullptr, &retval);
|
|
|
|
|
|
+ output.clear();
|
|
|
|
+ OS::get_singleton()->execute(apksigner, args, &output, &retval, true);
|
|
|
|
+ print_verbose(output);
|
|
if (retval) {
|
|
if (retval) {
|
|
EditorNode::add_io_error("'apksigner' verification of " + export_label + " failed.");
|
|
EditorNode::add_io_error("'apksigner' verification of " + export_label + " failed.");
|
|
return ERR_CANT_CREATE;
|
|
return ERR_CANT_CREATE;
|
|
@@ -2673,7 +2691,7 @@ public:
|
|
FileAccess *dst_f = nullptr;
|
|
FileAccess *dst_f = nullptr;
|
|
io2.opaque = &dst_f;
|
|
io2.opaque = &dst_f;
|
|
|
|
|
|
- String tmp_unaligned_path = EditorSettings::get_singleton()->get_cache_dir().plus_file("tmpexport-unaligned.apk");
|
|
|
|
|
|
+ String tmp_unaligned_path = EditorSettings::get_singleton()->get_cache_dir().plus_file("tmpexport-unaligned." + uitos(OS::get_singleton()->get_unix_time()) + ".apk");
|
|
|
|
|
|
#define CLEANUP_AND_RETURN(m_err) \
|
|
#define CLEANUP_AND_RETURN(m_err) \
|
|
{ \
|
|
{ \
|