|
@@ -1,7 +1,7 @@
|
|
|
.. _doc_android_plugin:
|
|
|
|
|
|
-Creating Android plugins (Godot 3.2.2+)
|
|
|
-=======================================
|
|
|
+Creating Android plugins
|
|
|
+========================
|
|
|
|
|
|
Introduction
|
|
|
------------
|
|
@@ -59,7 +59,7 @@ The instructions below assumes that you're using Android Studio.
|
|
|
|
|
|
- Download the Godot engine library (``godot-lib.<version>.<status>.aar``) from the `Godot download page <https://godotengine.org/download>`_ (e.g: ``godot-lib.3.2.2.stable.aar``).
|
|
|
|
|
|
- - Follow `these instructions <https://developer.android.com/studio/projects/android-library#AddDependency>`__ to add
|
|
|
+ - Follow `these instructions <https://developer.android.com/studio/projects/android-library#AddDependency>`__ to add
|
|
|
the Godot engine library as a dependency for your plugin.
|
|
|
|
|
|
- In the plugin module's ``build.gradle`` file, replace ``implementation`` with ``compileOnly`` for the dependency line for the Godot engine library.
|
|
@@ -82,7 +82,7 @@ The instructions below assumes that you're using Android Studio.
|
|
|
Where ``PluginName`` is the name of the plugin, and ``plugin.init.ClassFullName`` is the full name (package + class name) of the plugin loading class.
|
|
|
|
|
|
5. Add the remaining logic for your plugin and run the ``gradlew build`` command to generate the plugin's ``aar`` file.
|
|
|
- The build will likely generate both a ``debug`` and ``release`` ``aar`` files.
|
|
|
+ The build will likely generate both a ``debug`` and ``release`` ``aar`` files.
|
|
|
Depending on your need, pick only one version (usually the ``release`` one) which to provide your users with.
|
|
|
|
|
|
It's recommended that the ``aar`` filename matches the following pattern: ``[PluginName]*.aar`` where ``PluginName`` is the name of the plugin in PascalCase (e.g.: ``GodotPayment.release.aar``).
|
|
@@ -90,39 +90,39 @@ The instructions below assumes that you're using Android Studio.
|
|
|
6. Create a Godot Android Plugin configuration file to help the system detect and load your plugin:
|
|
|
|
|
|
- The configuration file extension must be ``gdap`` (e.g.: ``MyPlugin.gdap``).
|
|
|
-
|
|
|
+
|
|
|
- The configuration file format is as follow::
|
|
|
-
|
|
|
+
|
|
|
[config]
|
|
|
-
|
|
|
+
|
|
|
name="MyPlugin"
|
|
|
binary_type="local"
|
|
|
binary="MyPlugin.aar"
|
|
|
-
|
|
|
+
|
|
|
[dependencies]
|
|
|
-
|
|
|
+
|
|
|
local=["local_dep1.aar", "local_dep2.aar"]
|
|
|
remote=["example.plugin.android:remote-dep1:0.0.1", "example.plugin.android:remote-dep2:0.0.1"]
|
|
|
custom_maven_repos=["http://repo.mycompany.com/maven2"]
|
|
|
-
|
|
|
+
|
|
|
The ``config`` section and fields are required and defined as follow:
|
|
|
-
|
|
|
+
|
|
|
- **name**: name of the plugin
|
|
|
|
|
|
- **binary_type**: can be either ``local`` or ``remote``. The type affects the **binary** field
|
|
|
|
|
|
- **binary**:
|
|
|
-
|
|
|
+
|
|
|
- if **binary_type** is ``local``, then this should be the filepath of the plugin ``aar`` file.
|
|
|
-
|
|
|
+
|
|
|
- The filepath can be relative (e.g.: ``MyPlugin.aar``) in which case it's relative to the ``res://android/plugins`` directory.
|
|
|
|
|
|
- The filepath can be absolute: ``res://some_path/MyPlugin.aar``.
|
|
|
-
|
|
|
+
|
|
|
- if **binary_type** is ``remote``, then this should be a declaration for a `remote gradle binary <https://developer.android.com/studio/build/dependencies#dependency-types>`_ (e.g.: ``org.godot.example:my-plugin:0.0.0``).
|
|
|
-
|
|
|
+
|
|
|
The ``dependencies`` section and fields are optional and defined as follow:
|
|
|
-
|
|
|
+
|
|
|
- **local**: contains a list of filepaths to the local ``.aar`` binary files the plugin depends on. Similarly to the ``binary`` field (when the ``binary_type`` is ``local``), the local binaries' filepaths can be relative or absolute.
|
|
|
|
|
|
- **remote**: contains a list of remote binary gradle dependencies for the plugin.
|