Sync docs for Android build in INSTALL

This commit is contained in:
Bill Kendrick 2023-03-29 01:04:35 -07:00
parent 8fc16aaa42
commit 55f49380ea
11 changed files with 672 additions and 27 deletions

View file

@ -5,7 +5,7 @@
Copyright © 2002-2023 by varios colaboradores; see AUTHORS.txt.
https://tuxpaint.org/
23 de Marzo de 2023
29 de Marzo de 2023
+----------------------------------------------------+
|Índice |
@ -17,6 +17,7 @@
| * Windows |
| * Linux/Unix |
| * macOS |
| * Android |
| * Debugging |
| * Uninstalling Tux Paint |
| * Windows |
@ -759,7 +760,7 @@ macOS
Building for Apple Silicon
macOS for Applie Silicon requires all native Apple Silicon applications be
macOS for Apple Silicon requires all native Apple Silicon applications be
signed, even if it is signed "ad-hoc" (anonymously). Because of this,
compilers that produce native Apple Silicon applications sign all produced
binaries and libraries as a part of the compilation process.^* However,
@ -802,6 +803,68 @@ macOS
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
Android
29 de Marzo de 2023 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited
by Bill Kendrick)
As of March 2023, the Android build of Tux Paint is maintained in a
separate code repository at GitHub:
https://github.com/tux4kids/Tuxpaint-Android. Detailed instructions are
there; this acts as an overview.
Prerequisites
You will need recent versions of:
* Gradle — build automation tool
* Android Studio (Software Development Kit (SDK)) — to support Android
app development (Java)
* Android Native Development Kit (NDK) — to support native development
in C/C++
To compile the latest Tux Paint, one has to sync the main SourceForge
project's tuxpaint Git repository with the GitHub project's
TuxPaint-Android Git repository. (Pere uses a shell script that backs up
the app/src/main/jni/tuxpaint directory in the Tuxpaint-Android GitHub
repo and makes a build of SourceForge's tuxpaint to generate translations
and other things that are not autogenerated in the Android builds, and
then copies the SourceForge tuxpaint back to Tuxpaint-Android.) (FIXME: It
should be checked-in somewhere. For now, see
https://sourceforge.net/p/tuxpaint/feature-requests/224/)
For it to run you need the tuxpaint and Tuxpaint-Android sources one next
to one another, and the script in the directory containing both.
Fill the app/src/main/assets directory by running cd
app/src/main/jni/tuxpaint && ./mkzip_assets.sh
Building
The Gradle build generates some variants: Playstore, debugPlaystore,
offPlaystore and debugoffPlaystore. You must sign the non-debug ones to be
able to install them. (FIXME: Link to info on how to sign.) (Note:
"Playstore" ones are intended to be uploaded to Google Play; this is
currently managed by Terrence Sheflin —March 2023. "offPlaystore" is the
flavor that we distribute as APK files on the Tux Paint website and
SourceForge file hosting, and send to the F-Droid app. repository.)
To trigger a build from F-droid, it suffices to tag a commit and push it
to GitHub. That doesn't guarantee the build will succeed though, so Pere
usually runs a local F-droid server to test the build and eventually adapt
the F-droid's build receipt before pushing the tag to GitHub.
The builds Pere distributes are all made with that local F-droid server.
It has the advantage of packing the sources and logs, and signing the APK.
Most importantly, it uses the same tools F-Droid will use to build Tux
Paint, so you can detect problems beforehand.
The receipt Pere uses for F-Droid builds is in the metadata dir of
https://gitlab.com/fdroid/fdroiddata. The F-Droid server code is at
https://gitlab.com/fdroid/fdroidserver. To generate the server you will
need 1GB free on disk. Run the makebuildserver tool they provide, then,
from the root of fdroiddata, run ../fdroidserver/fdroid build --server
org.tuxpaint:NNNN (NNNN = version, e.g. 9288)
Debugging
⚙ Debugging output — to "STDOUT" on Linux and Unix, to a "stdout.txt" file