Merge pull request #4869 from skyace65/AndroidCustom
Remove duplicate setup instructions from android custom build page
@@ -13,10 +13,9 @@ There are some reasons why you may want to do this:
|
||||
* Modify the project before it's built.
|
||||
* Add external SDKs that build with your project.
|
||||
|
||||
Configuring the custom build is a more or less straightforward process,
|
||||
but it may take a while to get used to how the Android SDK works.
|
||||
|
||||
Instructions will be provided as detailed as possible to do this process.
|
||||
Configuring the custom build is a fairly straightforward process. But first
|
||||
you need to follow the steps in :ref:`exporting for android<doc_exporting_for_android>`
|
||||
up to **Setting it up in Godot**. After doing that, follow the steps below.
|
||||
|
||||
Set up the custom build environment
|
||||
-----------------------------------
|
||||
@@ -32,239 +31,6 @@ A Gradle-based Android project will be created under ``res://android/build``.
|
||||
Editing these files is not needed unless you want to :ref:`create
|
||||
your own add-ons<doc_android_plugin>`, or you really need to modify the project.
|
||||
|
||||
Install the Android SDK (command-line version)
|
||||
----------------------------------------------
|
||||
|
||||
These are the steps for installing the Android SDK using command line. The
|
||||
advantage of this approach is the simplicity and small download/install size. It
|
||||
can be more challenging though. The Android Studio approach is easier, but it
|
||||
requires downloading and installing Android Studio (which may require more than
|
||||
1 GB of storage).
|
||||
|
||||
Install a JDK
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
The Android SDK doesn't come with Java, so it needs to be installed manually.
|
||||
You need to install a Java SDK (**not** just the runtime or JRE).
|
||||
`OpenJDK 8 <https://adoptopenjdk.net/index.html>`__ is required, newer
|
||||
versions won't work.
|
||||
|
||||
On Windows, make sure that you enable "Set ``JAVA_HOME`` variable" in the *Custom Setup* view
|
||||
of the installer. You have to restart Godot after this, otherwise Godot can't
|
||||
find the ``JAVA_HOME`` variable.
|
||||
|
||||
Download the command-line tools
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Go to the `Android Studio download page <https://developer.android.com/studio/#command-tools>`_.
|
||||
To save disk space, you don't want the full IDE, so don't download it.
|
||||
|
||||
.. note::
|
||||
|
||||
If you do want Android Studio, read further down for instructions for
|
||||
doing the same using Android Studio.
|
||||
|
||||
Look on that page for the *Command line tools only* section. Currently, they are listed under
|
||||
*Download Options*. Scroll down a bit until you see them and download the ZIP file for
|
||||
your platform.
|
||||
|
||||
This may appear a little confusing, but be sure to follow these instructions
|
||||
carefully:
|
||||
|
||||
Create a new folder anywhere you want named ``android-sdk`` (it **must** be
|
||||
an empty directory). On Windows, the following path is usually good enough:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
C:\users\<yourusername>\android-sdk
|
||||
|
||||
Create an empty folder named ``cmdline-tools`` inside of the ``android-sdk`` folder.
|
||||
Then unzip the Android SDK ZIP file into the ``android-sdk/cmdline-tools`` folder.
|
||||
|
||||
.. note::
|
||||
|
||||
If you're on Windows, you must not extract the ZIP archive with the default
|
||||
Windows extractor (e.g. Windows Explorer). You have to use another tool
|
||||
like 7zip, WinRAR or the Powershell ``Expand-Archive`` command. If you
|
||||
extract the archive with the default Windows extractor, the files are not
|
||||
extracted correctly and you will run into errors later on!
|
||||
|
||||
The ``cmdline-tools`` folder should now contain the unzipped folder called ``tools``.
|
||||
Finally, rename the ``tools`` folder to ``latest``.
|
||||
|
||||
Your final directory structure should look like this :
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
android-sdk/
|
||||
android-sdk/cmdline-tools/
|
||||
android-sdk/cmdline-tools/latest
|
||||
android-sdk/cmdline-tools/latest/allTheOtherFiles
|
||||
|
||||
We need to setup the directory structure this way for the sdkmanager (inside the bin folder) to work.
|
||||
|
||||
Accepting the licenses
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
To be able to use the Android SDK tools, Google requires you to accept
|
||||
its licenses.
|
||||
|
||||
To do this, the ``sdkmanager`` must be executed from the command line with a
|
||||
special argument. Navigate to the ``tools/bin`` directory inside the SDK folder
|
||||
(instructions provided for Windows users, as Linux and macOS users are expected
|
||||
to understand how command line navigation works):
|
||||
|
||||
.. image:: img/custom_build_bin_folder.png
|
||||
|
||||
Then open a command line window:
|
||||
|
||||
.. image:: img/custom_build_open_shell.png
|
||||
|
||||
In there, run ``sdkmanager --licenses``:
|
||||
|
||||
.. image:: img/custom_build_sdkmanager.png
|
||||
|
||||
This will ask you to accept several licenses, just write ``y`` and press :kbd:`Enter`
|
||||
on every of them until it's done.
|
||||
|
||||
Afterwards, install the platform tools (this is required to install ``adb``):
|
||||
|
||||
.. image:: img/custom_build_platform_tools.png
|
||||
|
||||
If you get an error saying ``Warning: Could not create settings``, try ``./sdkmanager --sdk_root=../../ --licenses`` or ``./sdkmanager --sdk_root=../../ platform-tools``. These must be executed inside the ``/tools/bin/`` folder because the path for ``--sdk_root`` is relative.
|
||||
|
||||
Generating the keystore
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Once the *platform tools* are installed, the last step is to generate a debug
|
||||
keystore (this is needed to build). Go up two folders by writing:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
cd ..\..\..
|
||||
|
||||
(or open a new shell in the ``android-sdk`` folder).
|
||||
|
||||
And you need to input the following line (This should work out of the box.
|
||||
However, if you haven't set the ``JAVA_HOME`` variable on Windows,
|
||||
there are further instructions below):
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
|
||||
|
||||
On Windows, if you did not install the ``JAVA_HOME`` variable, the full path to Java
|
||||
should be provided. You need to add ``&`` at the beginning of the line if you use
|
||||
PowerShell; it's not needed for the regular ``cmd.exe`` console.
|
||||
|
||||
To make it clearer, here is an capture of a line that works on PowerShell (by
|
||||
adding ``&`` and the full Java path before ``keytool.exe``). Again, keep in mind that you
|
||||
need Java installed:
|
||||
|
||||
.. image:: img/custom_build_command_line.png
|
||||
|
||||
(right-click and open the image in a new tab if this appears too small)
|
||||
|
||||
|
||||
Setting up Godot
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Go to the **Editor Settings** and set up a few fields in **Export > Android**.
|
||||
Make sure they look like the following:
|
||||
|
||||
.. image:: img/custom_build_editor_settings.png
|
||||
|
||||
(right-click and open the image in a new tab if this appears too small)
|
||||
|
||||
As it can be seen, most paths are inside either the ``android-sdk`` folder you
|
||||
originally created, or inside the Java install. For Linux and macOS users,
|
||||
``jarsigner`` is often located in ``/usr/bin``.
|
||||
|
||||
With this, you should be all set.
|
||||
|
||||
|
||||
Install the Android SDK (Android Studio)
|
||||
----------------------------------------
|
||||
|
||||
If you just finished installing the SDK via the command-line tools, feel free to
|
||||
skip this section entirely. The Android Studio path is easier, but it takes up
|
||||
more disk space. It's also useful if you plan to develop Godot for Android
|
||||
(modify the Java source code) or if you plan to develop add-ons.
|
||||
|
||||
Download and install Android Studio
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Download the latest version of Android Studio. When installing, pay attention to
|
||||
where the *android-sdk* directory is created.
|
||||
|
||||
.. image:: img/custom_build_install_android_studio1.png
|
||||
|
||||
.. note:: This is funny, the path it proposes by default contains whitespace (and complains about it). It must be changed.
|
||||
|
||||
In any case, it's better to select a different path inside your user folders.
|
||||
The recommended one is usually:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
C:\Users\<yourusername>\Documents\android-sdk
|
||||
|
||||
Replace *yourusername* by your actual user name. Once it's correct, select from
|
||||
the list above in the same screen:
|
||||
|
||||
* Android SDK
|
||||
* Android SDK Platform
|
||||
|
||||
The rest are not needed, because the build system will fetch them itself. After
|
||||
selecting them, go on with the installation.
|
||||
|
||||
|
||||
Generating the keystore
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Go to the folder where you installed ``android-sdk`` in the previous step, use File
|
||||
Explorer and open a command line tool there:
|
||||
|
||||
.. image:: img/custom_build_open_shell.png
|
||||
|
||||
The actual command line to type is the following. On Linux and macOS, it should
|
||||
work out of the box, but on Windows, it needs additional details (keep reading
|
||||
afterwards).
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
|
||||
|
||||
On Windows, the full path to Java should be provided (and ``&`` needs to be
|
||||
added at the beginning on the line if you use PowerShell, it's not needed for
|
||||
the regular ``cmd.exe`` console). Don't worry, at least by using Android Studio
|
||||
on Windows, Java comes bundled with it.
|
||||
|
||||
To make it clearer, here is a screen capture of a line that works on PowerShell
|
||||
(by adding ``&`` and the full Java Path to ``keytool.exe``; remove ``&`` if you
|
||||
use ``cmd.exe``). It uses a path to the Java version that comes with Android
|
||||
Studio:
|
||||
|
||||
.. image:: img/custom_build_command_line2.png
|
||||
|
||||
(right-click and open the image in a new tab if this appears too small)
|
||||
|
||||
|
||||
Setting up Godot
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Go to the **Editor Settings** and set up a few fields in **Export > Android**.
|
||||
Make sure they look like the following:
|
||||
|
||||
.. image:: img/custom_build_editor_settings2.png
|
||||
|
||||
(right-click and open the image in a new tab if this appears too small)
|
||||
|
||||
As it can be seen, most paths are inside either the ``android-sdk`` folder you
|
||||
originally created, or inside the Java install. For Linux and macOS users,
|
||||
``jarsigner`` is often located in ``/usr/bin``.
|
||||
|
||||
With this, you should be all set.
|
||||
|
||||
|
||||
Enabling the custom build and exporting
|
||||
---------------------------------------
|
||||
|
||||
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |