NeonGeo 1.0 — natiivi Android-sovellus

Sovellus käyttää vain Androidin omia Java-rajapintoja, ei ulkoisia sovelluskirjastoja. Min SDK 26, target/compile SDK 35. Avaa src-kansio lähdekoodin tarkasteluun.

Käännös Linuxissa tai WSL:ssä:
Asenna JDK 17, Android SDK Platform 35 ja Build Tools 35.0.0.
Aseta ANDROID_JAR ympäristömuuttujaksi android.jar-tiedoston polku ja BUILD_TOOLS ympäristömuuttujaksi build-tools/35.0.0-kansio.
Aja bash build.sh.
Tulos: build/NeonGeo.apk.

Esimerkki (muuta SDK:n polku oikeaksi):
export ANDROID_JAR="$ANDROID_HOME/platforms/android-35/android.jar"
export BUILD_TOOLS="$ANDROID_HOME/build-tools/35.0.0"
bash build.sh

build.sh tarvitsee myös zip-ohjelman. Tämän toimituksen käännös tehtiin Eclipse ECJ 3.33 -kääntäjällä Java 8 -tavukoodiksi sekä virallisilla Android Build Tools 35.0.0 -työkaluilla. build.sh käyttää JDK:n javac- ja jar-komentoja vastaavan tavukoodin tuottamiseen.

Testit:
javac -encoding UTF-8 -d build/tests src/net/seppotolonen/neongeo/Coordinates.java tests/CoordinatesTest.java
java -cp build/tests CoordinatesTest

Julkaistava lähdekoodipaketti ei sisällä allekirjoitusavainta. Ilman alkuperäistä avainta build.sh luo uuden avaimen, jolloin APK ei päivity olemassa olevan tämän toimituksen APK:n päälle. Alkuperäinen avain on erillisessä yksityisessä ylläpitopaketissa. Pidä se tallessa äläkä julkaise sitä verkkosivuilla. Päivityksissä käytä samaa avainta ja kasvata versionCode-arvoa.

Muistiinpano: paikkakuntahaku käyttää Geocoderia työjonossa eikä estä käyttöliittymää. Sijainnit tulevat LocationManagerilta. TXT luodaan ACTION_CREATE_DOCUMENT-valitsimen kautta. Kirjoitettava sijainti lukitaan ennen tiedostovalitsimen avaamista. Sijaintipyyntöjen tilaukset poistetaan onPause-vaiheessa.

Tässä ympäristössä ei tehty Android-laite- tai emulaattoritestausta. Katso käyttöohjeesta testaustila ja laitteella tarkistettavat asiat.
