minetest/doc
rubenwardy b1786e88ac Use .md extension for markdown files
Linking to line numbers is brittle, linking to sections/headings is better.

If you still want to link to a line number, you can append ?plain=1 to GitHub's URL
2023-04-16 20:23:53 +01:00
..
mkdocs Use .md extension for markdown files 2023-04-16 20:23:53 +01:00
breakages.md Deprecate special handling of ${key} syntax in metadata values (#12970) 2022-11-24 17:56:43 -05:00
builtin_entities.md Use .md extension for markdown files 2023-04-16 20:23:53 +01:00
client_lua_api.md Use .md extension for markdown files 2023-04-16 20:23:53 +01:00
direction.md Fix typos and en_US/en_GB inconsistency in files inside doc directory (#12882) 2022-10-21 17:12:39 +02:00
Doxyfile.in Fully remove bitmap font support (#11863) 2022-01-08 14:53:25 +01:00
fst_api.txt Fix typos and en_US/en_GB inconsistency in files inside doc directory (#12882) 2022-10-21 17:12:39 +02:00
lgpl-2.1.txt Spacing fixes 2022-04-08 14:55:21 +01:00
lua_api.md Use .md extension for markdown files 2023-04-16 20:23:53 +01:00
main_page.dox Actually add Doxygen main page 2016-01-09 15:11:43 -05:00
menu_lua_api.md Use .md extension for markdown files 2023-04-16 20:23:53 +01:00
minetest.6 Add support for MINETEST_USERDATA environment variable (#12639) 2022-09-16 13:19:44 +02:00
minetestserver.6 Clean up and tweak build system 2015-03-27 15:00:48 -04:00
mod_channels.png Implement mod communication channels (#6351) 2017-09-26 00:11:20 +02:00
protocol.txt Protocol Docs: Python check bump to Python 3 2019-02-03 01:32:37 +00:00
README.android Move build/android directory to root of project (#11283) 2021-06-21 20:51:42 +01:00
texture_packs.md Use .md extension for markdown files 2023-04-16 20:23:53 +01:00
world_format.txt Document mod storage psql settings in world_format.txt 2023-01-05 21:59:08 +01:00

Minetest: Android version
=========================

Controls
--------
The Android port doesn't support everything you can do on PC due to the
limited capabilities of common devices. What can be done is described
below:

While you're playing the game normally (that is, no menu or inventory is
shown), the following controls are available:
* Look around: touch screen and slide finger
* double tap: place a node or use selected item
* long tap: dig node
* touch shown buttons: press button
* Buttons:
** left upper corner: chat
** right lower corner: jump
** right lower corner: crouch
** left lower corner: walk/step...
   left up right
       down
** left lower corner: display inventory

When a menu or inventory is displayed:
* double tap outside menu area: close menu
* tap on an item stack: select that stack
* tap on an empty slot: if you selected a stack already, that stack is placed here
* drag and drop: touch stack and hold finger down, move the stack to another
  slot, tap another finger while keeping first finger on screen
  --> places a single item from dragged stack into current (first touched) slot

Special settings
----------------
There are some settings especially useful for Android users. Minetest's config
file can usually be found at /mnt/sdcard/Minetest.

* gui_scaling: this is a user-specified scaling factor for the GUI- In case
               main menu is too big or small on your device, try changing this
               value.

Requirements
------------

In order to build, your PC has to be set up to build Minetest in the usual
manner (see the regular Minetest documentation for how to get this done).
In addition to what is required for Minetest in general, you will need the
following software packages. The version number in parenthesis denotes the
version that was tested at the time this README was drafted; newer/older
versions may or may not work.

* Android SDK 29
* Android NDK r21
* Android Studio 3 [optional]

Additionally, you'll need to have an Internet connection available on the
build system, as the Android build will download some source packages.

Build
-----

The new build system Minetest Android is fully functional and is designed to
speed up and simplify the work, as well as adding the possibility of
cross-platform build.
You can use `./gradlew assemblerelease` or `./gradlew assembledebug` from the
command line or use Android Studio and click the build button.

When using gradlew, the newest NDK will be downloaded and installed
automatically. Or you can create a `local.properties` file and specify
`sdk.dir` and `ndk.dir` yourself.

* In order to make a release build you'll have to have a keystore setup to sign
  the resulting apk package. How this is done is not part of this README. There
  are different tutorials on the web explaining how to do it
  - choose one yourself.

* Once your keystore is setup, enter the android subdirectory and create a new
  file "ant.properties" there. Add following lines to that file:

  > key.store=<path to your keystore>
  > key.alias=Minetest