1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-08 12:40:44 +00:00

-Remote deploy now uses FS over USB on Android, super fast!

This commit is contained in:
Juan Linietsky
2016-01-20 00:29:34 -03:00
parent 891e31b139
commit c9580965ea
4 changed files with 46 additions and 4 deletions

View File

@@ -34,9 +34,9 @@
#define DEBUG_PRINT(m_p) print_line(m_p) //#define DEBUG_PRINT(m_p) print_line(m_p)
//#define DEBUG_TIME(m_what) printf("MS: %s - %lli\n",m_what,OS::get_singleton()->get_ticks_usec()); //#define DEBUG_TIME(m_what) printf("MS: %s - %lli\n",m_what,OS::get_singleton()->get_ticks_usec());
//#define DEBUG_PRINT(m_p) #define DEBUG_PRINT(m_p)
#define DEBUG_TIME(m_what) #define DEBUG_TIME(m_what)

View File

@@ -1513,6 +1513,13 @@ Error EditorExportPlatformAndroid::run(int p_device, int p_flags) {
//export_temp //export_temp
ep.step("Exporting APK",0); ep.step("Exporting APK",0);
bool use_adb_over_usb = bool(EDITOR_DEF("android/use_remote_debug_over_adb",true));
if (use_adb_over_usb) {
p_flags|=EXPORT_REMOTE_DEBUG_LOCALHOST;
}
String export_to=EditorSettings::get_singleton()->get_settings_path()+"/tmp/tmpexport.apk"; String export_to=EditorSettings::get_singleton()->get_settings_path()+"/tmp/tmpexport.apk";
Error err = export_project(export_to,true,p_flags); Error err = export_project(export_to,true,p_flags);
if (err) { if (err) {
@@ -1559,6 +1566,35 @@ Error EditorExportPlatformAndroid::run(int p_device, int p_flags) {
return ERR_CANT_CREATE; return ERR_CANT_CREATE;
} }
if (use_adb_over_usb) {
args.clear();
args.push_back("reverse");
args.push_back("--remove-all");
err = OS::get_singleton()->execute(adb,args,true,NULL,NULL,&rv);
int port = Globals::get_singleton()->get("debug/debug_port");
args.clear();
args.push_back("reverse");
args.push_back("tcp:"+itos(port));
args.push_back("tcp:"+itos(port));
err = OS::get_singleton()->execute(adb,args,true,NULL,NULL,&rv);
print_line("Reverse result: "+itos(rv));
int fs_port = EditorSettings::get_singleton()->get("file_server/port");
args.clear();
args.push_back("reverse");
args.push_back("tcp:"+itos(fs_port));
args.push_back("tcp:"+itos(fs_port));
err = OS::get_singleton()->execute(adb,args,true,NULL,NULL,&rv);
print_line("Reverse result2: "+itos(rv));
}
ep.step("Running on Device..",3); ep.step("Running on Device..",3);
args.clear(); args.clear();
args.push_back("-s"); args.push_back("-s");
@@ -1724,6 +1760,7 @@ void register_android_exporter() {
//EDITOR_DEF("android/release_username",""); //EDITOR_DEF("android/release_username","");
//EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING,"android/release_keystore",PROPERTY_HINT_GLOBAL_FILE,"*.keystore")); //EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING,"android/release_keystore",PROPERTY_HINT_GLOBAL_FILE,"*.keystore"));
EDITOR_DEF("android/timestamping_authority_url",""); EDITOR_DEF("android/timestamping_authority_url","");
EDITOR_DEF("android/use_remote_debug_over_adb",false);
Ref<EditorExportPlatformAndroid> exporter = Ref<EditorExportPlatformAndroid>( memnew(EditorExportPlatformAndroid) ); Ref<EditorExportPlatformAndroid> exporter = Ref<EditorExportPlatformAndroid>( memnew(EditorExportPlatformAndroid) );
EditorImportExport::get_singleton()->add_export_platform(exporter); EditorImportExport::get_singleton()->add_export_platform(exporter);

View File

@@ -1000,6 +1000,9 @@ void EditorExportPlatform::gen_export_flags(Vector<String> &r_flags, int p_flags
String host = EditorSettings::get_singleton()->get("network/debug_host"); String host = EditorSettings::get_singleton()->get("network/debug_host");
if (p_flags&EXPORT_REMOTE_DEBUG_LOCALHOST)
host="localhost";
if (p_flags&EXPORT_DUMB_CLIENT) { if (p_flags&EXPORT_DUMB_CLIENT) {
int port = EditorSettings::get_singleton()->get("file_server/port"); int port = EditorSettings::get_singleton()->get("file_server/port");
String passwd = EditorSettings::get_singleton()->get("file_server/password"); String passwd = EditorSettings::get_singleton()->get("file_server/password");
@@ -1014,6 +1017,7 @@ void EditorExportPlatform::gen_export_flags(Vector<String> &r_flags, int p_flags
if (p_flags&EXPORT_REMOTE_DEBUG) { if (p_flags&EXPORT_REMOTE_DEBUG) {
r_flags.push_back("-rdebug"); r_flags.push_back("-rdebug");
r_flags.push_back(host+":"+String::num(GLOBAL_DEF("debug/debug_port", 6007))); r_flags.push_back(host+":"+String::num(GLOBAL_DEF("debug/debug_port", 6007)));
List<String> breakpoints; List<String> breakpoints;

View File

@@ -136,8 +136,9 @@ public:
enum ExportFlags { enum ExportFlags {
EXPORT_DUMB_CLIENT=1, EXPORT_DUMB_CLIENT=1,
EXPORT_REMOTE_DEBUG=2, EXPORT_REMOTE_DEBUG=2,
EXPORT_VIEW_COLLISONS=4, EXPORT_REMOTE_DEBUG_LOCALHOST=4,
EXPORT_VIEW_NAVIGATION=8 EXPORT_VIEW_COLLISONS=8,
EXPORT_VIEW_NAVIGATION=16,
}; };