diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 7f8d50b8ab..bfe737f138 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -1157,6 +1157,9 @@ public: r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, launcher_icons[i].option_id, PROPERTY_HINT_FILE, "*.png"), "")); } + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/debug", PROPERTY_HINT_GLOBAL_FILE, "*.keystore"), "")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/debug_user"), "")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/debug_password"), "")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/release", PROPERTY_HINT_GLOBAL_FILE, "*.keystore"), "")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/release_user"), "")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/release_password"), "")); @@ -1417,12 +1420,15 @@ public: err += "OpenJDK 8 jarsigner not configured in the Editor Settings.\n"; } - String dk = EditorSettings::get_singleton()->get("export/android/debug_keystore"); + String dk = p_preset->get("keystore/debug"); if (!FileAccess::exists(dk)) { - valid = false; - err += "Debug keystore not configured in the Editor Settings.\n"; + dk = EditorSettings::get_singleton()->get("export/android/debug_keystore"); + if (!FileAccess::exists(dk)) { + valid = false; + err += "Debug keystore not configured in the Editor Settings nor in the preset.\n"; + } } bool apk_expansion = p_preset->get("apk_expansion/enable"); @@ -1772,9 +1778,17 @@ public: String password; String user; if (p_debug) { - keystore = EditorSettings::get_singleton()->get("export/android/debug_keystore"); - password = EditorSettings::get_singleton()->get("export/android/debug_keystore_pass"); - user = EditorSettings::get_singleton()->get("export/android/debug_keystore_user"); + + keystore = p_preset->get("keystore/debug"); + password = p_preset->get("keystore/debug_password"); + user = p_preset->get("keystore/debug_user"); + + if (keystore.empty()) { + + keystore = EditorSettings::get_singleton()->get("export/android/debug_keystore"); + password = EditorSettings::get_singleton()->get("export/android/debug_keystore_pass"); + user = EditorSettings::get_singleton()->get("export/android/debug_keystore_user"); + } ep.step("Signing debug APK...", 103);