Re-architect how Android plugins are packaged and handled at export time
The previous packaging format for Godot Android plugins consisted of the plugin's `gdap` config file accompanied by binaries defined in the `gdap` file. This format is now deprecated (starting with Godot 4.2), and instead Godot Android plugins are now packaged as `EditorExportPlugin` plugins. The `EditorExportPlugin` class has been updated with the following methods to provide the necessary set of functionality: - `_supports_platform`: returns true if the plugin supports the given platform - `_get_android_dependencies`: retrieve the set of android dependencies (e.g: `org.godot.example:my-plugin:0.0.0`) provided by the plugin - `_get_android_dependencies_maven_repos`: retrieve the urls of the maven repos for the provided android dependencies - `_get_android_libraries`: retrieve the local paths of the android libraries (AAR files) provided by the plugin - `_get_android_manifest_activity_element_contents`: update the contents of the `<activity>` element in the generated Android manifest - `_get_android_manifest_application_element_contents`: update the contents of the `<application>` element in the generated Android manifest - `_get_android_manifest_element_contents`: update the contents of the `<manifest>` element in the generated Android manifest
This commit is contained in:
committed by
Yuri Sizov
parent
279732539f
commit
d17811c814
@@ -3363,6 +3363,11 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled,
|
||||
return;
|
||||
}
|
||||
|
||||
String plugin_version;
|
||||
if (cf->has_section_key("plugin", "version")) {
|
||||
plugin_version = cf->get_value("plugin", "version");
|
||||
}
|
||||
|
||||
if (!cf->has_section_key("plugin", "script")) {
|
||||
show_warning(vformat(TTR("Unable to find script field for addon plugin at: '%s'."), addon_path));
|
||||
return;
|
||||
@@ -3408,6 +3413,7 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled,
|
||||
|
||||
EditorPlugin *ep = memnew(EditorPlugin);
|
||||
ep->set_script(scr);
|
||||
ep->set_plugin_version(plugin_version);
|
||||
addon_name_to_plugin[addon_path] = ep;
|
||||
add_editor_plugin(ep, p_config_changed);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user