Voit itse lisätä ja muuttaa sisältöä muokkaa-painikkeiden avulla

Ennen tallennusta suositellaan ottamaan kopio muokkausruudusta (ctrl-a -> ctrl-c)

 Olet itse vastuussa tämän teoksen käytöstä aiheutuvista vahingoista Lue lisää.

ATAK lisäosa

Wikikko - kansan taitopankkista
Versio hetkellä 12. lokakuuta 2026 kello 18.30 – tehnyt Wikikkosysop (keskustelu | muokkaukset) (→Oman lisäosan kehittäminen)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Johdanto

[muokkaa]

Tällä sivulla käsitellään lisäosan kehittämistä ja ohjelmointia. Olemassa olevista lisäosista Wikikon sivulla: ATAK.

Lisäosilla voi lisätä haluttuja toimintoja ATAKiin ja yhdistää muihin sovelluksiin. Lisäosassa hyödynnetään ATAK-sovelluksen perustoimintoja tarpeen mukaan.

Omatekoista lisäosaa varten tarvitaan:

  1. ATAK SDK-sovellus (Atak-sovelluksen kehitysversio) asennettuna Android Studio emulaattoriin tai Android-päätelaitteeseen, esim. Android-puhelimeen.
  2. Android Studio-sovellus tietokoneessa ja sovellus ATAK-perusasetuksilla
  3. ATAK SDK-paketi tak.gov-sivulta
  4. Lisäosan koodi, josta tehdään .apk -tiedosto ja asennetaan emulaattoriin tai ATAK-päätelaitteeseen. Lisäosaa voidaan kehittää ja testata Android Studioon asennetussa puhelimen emulaattorissa ja tarvittaessa/lopulta viedä se ATAK-päätelaitteeseen.

Linkkejä

[muokkaa]
https://github.com/deptofdefense/AndroidTacticalAssaultKit-CIV

Android Studio

[muokkaa]

Lisäosia kehitetään Android Studion avulla.

  • Tällä sivulla on käytetty Android Studio Rabbit 1 | 2026.2.1 (macOS).

Asennus macOS

[muokkaa]
  1. Ladataan ja asennetaan Android Studion.
  2. Jos sovellus ei itse saa oikeutta, myönnetään Android Studio.app:lle Full Disk Access: MacOS System Settings > Privacy & Security > Full Disk Access.

ATAK SDK

[muokkaa]

SDK:n avulla Android Studiossa tehdään ATAK-lisäosien kehittäminen. SDK-paketista löytyy ATAK-sovelluksen kehitysversio (developer build), jossa ajettavia sovelluksia ei tarvitse allekirjoittaa. Tämä ATAK-sovellus voidaan asentaa sekä Android Studion emulaattoriin tai Android-päätelaitteeseen.

  1. Ladataan ja puretaan ATAK-CIV-XXX-SDK.zip: tak.gov > Login > Products > ATAK-CIV > Developer Resources > ATAK-CIV-XXX-SDK.zip > puretaan zip ja siirretään haluttuun hakemistoon omassa tiedostojärjestelmässä. Älä siirrä purettua tiedostoa tämän jälkeen toiseen kansioon!
  2. Katso alla Helloworld-lisäosan asennus emulaattoriin, miten Android Studion perusasetukset asetetaan ATAK-lisäosien kehitystyötä varten.

ATAK SDK-sovelluksen asennus emulaattoriin

[muokkaa]
  1. New Project > Empty Activity > Name: joku nimi
  2. Tools > SDK Manager > SDK Platforms > Android 11.0 ("R") > ???valitse AOSP ATD ARM 64 V8A System Image??? > Apply > OK
  3. Tools > Device Manager > + > Create Virtual Device > Pixel 5 > Next > API: API 30 "R"; Android 11.0 > Services: Android Open Source > valitaan System Image ARM 64 v8a System Image > Additional settings > Internal storage 8 GB > RAM 8 GB > Finish > Download ARM 64 v8a Sysem Image (523.0 MB) Yes > Finish.
  4. Käynnistetään Pixel 5-emulaattori laitteen play-painikkeesta, hetken kuluttua ilmestyy puhelimen näyttö.
  5. Ladataan tak.gov-sivulta ATAK-CIV-XXX-SDK.zip > puretaan zip-tiedosto > vedetään hiirellä tiedosto atak.apk emulaattorin näyttöruudun päälle eli asennetaan ATAK-sovellus emulaattoriin > avataan ATAK (paina hiirilevyllä pohjaan näytön alareunassa ja vedä ylöspäin) > hyväksytään kaikki mitä edellytetään.
  6. Kun ATAK-sovellus kaatuu, eikä varsinaisesti käynnisty, annetaan macOS pääteohjelmassa (Terminal) seuraavat komennot riveittäin. Seuraavat rivit ovat erittäin tärkeitä, eikä muuta keinoa ole tähän mennessä löytynyt. Ennen näiden komentojen antamista ATAK on ensin käynnistettävä.
adb shell
mkdir -p /sdcard/atak
touch /sdcard/atak/opengl.broken
exit
  1. Käynnistetään ATAK-sovellus uudestaan, sovelluksen alalaidassa lukee DEVELOPER BUILD.

Helloworld-lisäosan asennus emulaattoriin

[muokkaa]

Ohje 11/2026

  1. Ladataan tak.gov -sivustosta ATAK-CIV -sivulta kohdasta Developer Resources ATAK-CIV-XXX-SDK.zip > puretaan tiedosto haluttuun tietokoneen hakemistoon. Android Studioon asennuksen jälkeen sijaintia ei tule muuttaa.
  2. Lisätään plugins -niminen hakemisto puretun SDK-hakemiston juurihakemistoon.
  3. Kopioidaan samples-hakemistosta helloworld-hakemisto plugins-hakemistoon.
  4. Android Studio > File > Open... > helloworld-hakemisto > saattaa pyytää valitsemaan toisen JVM:n, valitaan ehdotettu > saattaa pyytä Trust Project > odotetaan että helloworld-projekti tuodaan (eteneminen näkyy ikkunan alareunassa).
  5. Vaihdetaan ympäristö: File > Project Structure... >
    1. Android Gradle Plugin Version 8.9.0
    2. Gradle Version 8.13
    3. Apply > Odotetaan että helloworld-projekti tuodaan > OK.
  6. View > Tool Windows > Build Variants > vaihdetaan :app-moduulille Active Build Variant nimeltään civDebug.
  7. Ikkunan yläpalkista app-pudotusvalikosta Edit Configurations... > Launch: Nothing > Apply > OK.
  8. Asennetaan Android Studioon emulaattori, esimerkiksi Pixel 9 Pro XL > käynnistetään emulaattori > asennetaan ‘’’samasta’’’ SDK-paketista atak.apk emulaattoriin > otetaan ATAK-sovellus käyttöön (ohjeet tällä Wikikko-sivulla).
  9. Jos emullaatori ei ole jo päällä, Run (Android Studion yläpalkin vihreä play-painike) > Hello World Tool-lisäosa pyytää lupaa asentua emulaattorin ATAK-sovellukseen. Tarvittaessa sammuta emulaattori ja käynnistä uudelleen.
    1. Virheilmoitus: INSTALL_FAILED_CONFLICTING_PROVIDER.
      1. Vaihdetaan Android Studion vasemmasta yläkulmasta Android pudotusvalikosta Project.
      2. Avataan tiedosto app/src/main/AndroidManifest.xml > vaihdetaan rivi android:authorities="com.javacodegeeks.provider.Birthday" esimerkiksi android:authorities="com.helloworld.provider.Birthday"
  10. Avataan ATAK-valikossa Hello World Tool.

Helloworld-lisäosan asennus päätelaitteeseen

[muokkaa]

Ohje 11/2026

  1. Asennetaan ATAK SDK päätelaitteeseen.
  2. Otetaan puhelimen asetuksissa käyttöön USB-tiedonsiirto ja USB-vianetsintä (USB Debugging).
  3. Yhdistetään puhelin macOS-tietokoneeseen.
  4. Tehdään toimenpiteet kuten yllä "Helloworld-lisäosan asennus emulaattoriin" on neuvottu.
  5. Android Studio -ikkunan oikeasta reunasta Device Manager > pysäytetään mahdollinen emulaattori kyseisen rivin lopun painikkeesta > valitaan puhelin.
  6. Avataan puhelimessa ATAK.
  7. Painetaan ikkunan yläreunasta vihreää play-painiketta. Jos painike on harmaana, painetaan yläreunasta elefantti-ikonia ja katasotaan alareunasta toiminnon edistyminen, joka todennäköisesti muuttaa play-painikkeen vihreäksi.
  8. Hyväksytään ATAKin ponnahdusikkunassa asennus OK.
  9. Hello World -lisäosa löytyy hampurilaisvalikon lopusta.

ATAK SDK-sovelluksen asennus fyysiseen Android-päätelaitteeseen

[muokkaa]
HUOM! Androd Studion itse allekirjoitettuja (self-signed) lisäosia ei voi käyttää Play Storesta tai tak.gov-sivustosta asennetussa ATAK-CIV-sovelluksessa, tämän takia on asennettava ATAK SDK-paketista atak.apk päätelaitteeseen. Jos käytetään Play Storen ATAK-CIV-sovellusta, tulee asennettaessa virheilmoitus: The signature for the plugin is INVALID. ja lisäosa ei asennu. Alla olevan otsikon rinnakkaisasennus mukaan ei onnistuttu asentamaan samanaikaisesti ATAK-CIV ja ATAK SDK -sovelluksia samaan Samsung A55 puhelimeen. 
  1. Nimetään vanha päätelaitteen ATAK_CIV:n atak-kansio esim. atak_vanha. ATAK SDK muodostaa uuden atak-kansion.
  2. Poistetaan ATAK-CIV.
  3. Ladataan suoraan puhelimeen tak.gov -sivustosta ATAK-CIV -sivulta kohdasta Developer Resources ATAK-CIV-XXX-SDK.zip > puretaan tiedosto > ATAK SDK-sovellus on atak.apk-tiedosto SDK-juurihakemistossa.
    1. Jos tiedosto purettiin tietokoneeseen, lähetä atak.apk-tiedosto esim. sähköpostilla, siirrä Google Driven/OneDriven avulla päätelaitteeseen tai käytetään Android Studion adb-komentoa pääteohjelmassa asentamiseen.
  4. Asenna atak.apk -tiedosto ja ota normaalisti käyttöön.
  5. Näytän alalaidassa lukee DEVELOPER BUILD.

Rinnakkaisasennus

[muokkaa]

Play Kaupasta tai tak.gov:sta asennettua tuotannossa oleva ATAK-CIV -sovellus, jonka rinnalle asennetaan samaan päätelaitteeseen tak.gov-sivulta ladattua ATAK SDK-sovellusta samanaikaisesti samassa Android-päätelaitteessa. Alla on kuvattu eri vaihtoehtoja, joita ei saatu toimimaan Samsung A55 -puhelimessa.

  • Suojattu kansio. Samsung A55 suojattu kansio-toiminto. EI TOIMI 11/2026. Mahdollisesti allekirjoitusristiriita eli sama paketin nimi, mutta eri digitaalinen allekirjoitus. Tätä ei yritetty ratkaista poistamalla varsinainen ATAK-CIV-asennus.
  1. Android > Asetukset > Tietoturva ja tietosuoja > Lisää suojausasetuksia > Suojattu kansio > otetaan käyttöön.
  2. Android > Asetukset > Sovellukset > 3 pistettä oikeassa yläkulmassa: Erikoiskäyttö > Asenna tuntemattomia sovelluksia > Suojattu kansio -välilehti > Omat tiedostot päälle.
  3. Vaihtoehto 1: Tuodaan ATAK SDK-sovellus esimerkiksi sähköpostilla päätelaitteen tiedostojärjestelmään > Suojattu kansio -kuvake > 3 pistettä: Lisää tiedostoja > Omat tiedostot > valitaan edellä tuotu atak.apk > Valmis > kopioi > Suojatun kansion Omat tiedostot > Viimeisimmät tiedostot > klikataan atak-sovellusta > Asenna. EI TOIMI
    1. Virheilmoitus: Sovellusta ei asennettu. 1. ATAK-CIV-5.8.0.5-SDK edellyttää 64-bittistä käyttöjärjestelmää ja suoritinta, tarkista, että puhelin on yhteensopiva. 2. Google Play kauppa > Oma tunnuskuvake oikeassa yläkulmasssa > Play Protect > ratas > otetaan pois päältä Tarkista sovellukset Play Protectilla ja Paranna haittasovellusten tunnistusta. EI VAIKUTUSTA.
  4. Vaihtoehto 2: Ladataan ATAK SDK-zip-tiedosto suojatun kansion sisällä selaimella, jolloin se hetken kuluttua ilmestyy suojatun kansion Omat tiedostot -sovellukseen, jossa se puretaan ja klikataan atak.apk -tiedostoa. EI TOIMI.
  • Shelter. EI TOIMI. Ei onnistunut asentaa F-Droid -> Shelter -sovelluksen kautta asentamalla työprofiili. ATAK-CIV-5.6.0.5-SDK.zip sisältyvä atak.apk ei asentunut Shelterin työprofiiliin. Play Storesta asennettu ATAK-CIV asentui työprofiiliin. Vaihtoehtona olisi poistaa varsinainen henkilökohtaisessa profiilissa oleva Play Storen ATAK ja asentaa siihen profiiliin SDK atak.apk. (12/2025)
  • ATAK-CIV-5.6.0.5-SDK.zip sisältyvä atak.apk -paketin nimen muuttaminen. EI TOIMI. Ei onnistunut seuraavalla tavoin (macOS). Ilmeisesti syynä "kovakoodatut" osat, joita ei voi muuttaa ja jotka osuvat päällekkäin Play Store ATAKin kanssa. (12/2025)
  1. brew install apktool
    1. apktool —version
    2. cd (vedetään tähän hakemisto Finderista, joka sisältää atak.apk -tiedoston ja painetaan enter. Odotetaan niin kauan, että menee läpi. Jos on F-Secure asennettuna, saattaa pyytää lupaa hakemistoon muutaman kerran heti alussa ponnahdusikkunoissa.
  2. apktool d atak.apk -o atak_src
  3. muutetaan tiedostossa atak_src/AndroidManifest.xml rivi muotoon package="com.atakmap.app.civsdk”
  4. grep -rl "com/atakmap/app/civ" atak_src | xargs sed -i 's/com\/atakmap\/app\/civ/com\/atakmap\/app\/civsdk/g'
  5. rm -rf atak_src/build
  6. apktool b atak_src -o atak_mod.apk Jos on F-Secure asennettuna, saattaa pyytää lupaa hakemistoon, muutaman kerran ponnahdusikkunoissa.
  7. keytool -genkey -v -keystore mykey.keystore -alias myalias -keyalg RSA -keysize 2048 -validity 10000 Keksi salasana, anna kysytyt tiedot ja vastaa yes
  8. Asennetaan apksigner
    1. ls ~/Library/Android/sdk/build-tools/ vastaus esim. 35.0.0 36.1.0 josta lisätään seuraavaan riviin viimeinen numerosarja.
      1. echo 'export PATH=$PATH:$HOME/Library/Android/sdk/build-tools/36.1.0' >> ~/.zshrc
    2. source ~/.zshrc
    3. apksigner --version
  9. apksigner sign --ks mykey.keystore atak_mod.apk Annetaan edellä keytoolissa asetettu mykey:n salasana.

Oman lisäosan kehittäminen

[muokkaa]
  1. Asennetaan Android Studio.
  2. Asennetaan Android Studioon Android-päätelaitteen emulaattori.
  3. Ladataan tak.gov-sivustosta ATAK SDK-paketti ja asennetaan SDK-paketista ATAK-sovellus atak.apk emulaattoriin. Sovelluksen testaamisen voi tehdä emulaattorissa, mutta sen voi tehdä myös suoraan Android-päätelaitteessakin.
  4. Asennetaan SDK-paketista sama ATAK-sovellus myös Android-päätelaitteeseen.
  5. Asetetaan ATAK-lisäosan kehitysperusasetukset (ks. helloworld-ohje). Aina kun avataan esim. uusi plugintemplate, tulee tarkistaa seuraavat, joista etenkin ensimmäinen vaatii yleensä muutoksen.
    1. Ikkunan yläpalkista app-pudotusvalikosta Edit Configurations... > Launch: Nothing > Apply > OK.
    2. View > Tool Windows > Build Variants > vaihdetaan :app-moduulille Active Build Variant nimeltään civDebug. Löytyy myös vasemman reunan palkista 3 pisteen takaa.
  6. Lisätään SDK-hakemistoon alihakemisto plugins
  7. Siirretään SDK/samples -hakemistosta plugintemplate alihakemistoon plugins
  8. Avataan (Open) Android Studio:ssa kyseinen pliugintemplate-alihakemisto
  9. Koodataan Java-kielellä tai SDK 4.0-versiosta alkaen Kotlin-kielellä. Tekoäly koodaa varsin hyvin, mutta sille kannattaa kertoa ensiksi mitä SDK-versiota käytetään.
    1. Yksinkertaisinta on aloittaa koodaamalla pelkästään tiedostoon PluginTemplate.java, jolloin ainakin aluksi välttää xml-tiedostojen ongelmat. Tämä kannattaa kertoa tekoälylle, että käytetään vain PluginTemplate.java -tiedostoa ja muita plugintemplate:n tiedostoja ei muuteta. Kyseisen tiedoston löytää painamalla kaksi kertaa peräkkäin shift-näppäintä ja kirjoittamalla avautuvaan ruutuun PluginTemplate ja painamalla enter. Tiedoston voi esimerkiksi tyhjentää ctrl-a ja del ja sen jälkeen liittää tekoälyn tarjoaman koodin. Tiedostot ovat auki keskimmäisessä osassa välilehtinä. Oikealla on tiedostopuu joko valittavissa yleisimmillä Android- tai Project-näkymillä.
  10. Kytketään käytettäessä päätelaitetta, esim. puhelinta se johdolla tietokoneeseen.
  11. Oikeasta palkista kohdasta Device Manager valitaan käyttöön emulaattori painamalla kyseisen laitteen play-painiketta tai päätelaite valitsemalla kyseinen rivi. Valittu päätelaite tulee ikkunan keskelle ylös.
  12. Ikkunan alaosassa kannattaa pitää auki Build-näkymää, joka avataan vasemmasta palkista vasarakuvakkeesta.
  13. Kun koodiin tehdään muutoksia, ennen sen testausta painetaan Build > Clean Project.
    1. Jos Build-osiossa ikkunassa näkyy Clean Project -tai Run-komentojen jälkeen näkyy punaisia rivejä, nämä ovat virheilmoituksia ja lisäosa ei todennäköisesti toimi. Ne kannattaa korjata. Virheen tekstin voi kopioida normaalisti cmd-c.
  14. Painetaan ikkunan yläreunasta play-painiketta, jolloin lisäosa siirtyy emulaattoriin tai päätelaitteeseen. Hyväksytään lisäosan asennus ja etsitään lisäosa hampurilaisvalikosta.
    1. Jos play-painike on harmaa, painetaan ylärivillä olevaa norsukuvaketta, joka muuttaa play-painikkeen todennäköisesti vihreäksi.
  15. Ennen kuin sama lisäosa voidaan muutosten jälkeen uudestaan siirtää emulaattoriin/päätelaitteeseen, tulee aiempi sama lisäosa poistaa Plugins-lisäosan kautta. Poistamista helpottaa myös, kun plugins-lisäosan lisää ATAK-näytön yläreunan kuvakkeisiin ja piilottaa hampurilaisvalikosta tarpeettomat lisäosat.
  16. Lisäosan varmin varmuuskopio on sulkea projekti (File > Close Project) ja ottaa kopio plugins-hakemistossa olevasta projektin hakemistosta, tässä esim. pluginstemplate. Android Studio tallentaa myös muutoksista versiohistoriaa tai apuna voi käyttää omaa Github-tiliä, johon Android Studio liitetään.

Pluginstemplate-nimen muuttaminen

[muokkaa]

kuka kirjoittaisi nohevan ohjeen?

Hakemistorakenne

[muokkaa]
  • app
    • build.gradle: riippuvuudet, build-asetukset ym.
    • proguard-gradle.txt:
    • /src/AndroidManifest.xml: Määrittelee lisäosan tärkeimmät asiat.
    • /src/main/java/com/: Lisäosan koodi.
    • /src/main/res/
      • drawable: grafiikka
      • layout: käyttöliittymä
      • values: tyylit
      • xml: konfiguraatiot
    • /src/main/assets/: staattiset tiedostot
    • /src/main/libs/: kirjastot