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ä 24. joulukuuta 2025 kello 12.25 – tehnyt Wikikkosysop (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun

Johdanto

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

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

Omatekoista lisäosaa varten tarvitaan:

  1. ATAK asennettuna päätelaitteeseen, esim. Android-puhelin
  2. Android Studio tietokoneessa
  3. ATAK SDK tietokoneessa
  4. Lisäosan koodi, josta tehdään .apk -tiedosto ja asennetaan ATAK-päätelaitteeseen.

Lisäosaa voidaan kehittää ja testata Android Studioon asennetussa puhelimen emulaattorissa ja tarvittaessa/lopulta viedä se ATAK-päätelaitteeseen.

Linkkejä

https://github.com/deptofdefense/AndroidTacticalAssaultKit-CIV

Android Studio

Lisäosia kehitetään Android Studion avulla.

Asennus macOS

  1. Ladataan ja asennetaan Android Studio.
  2. Myönnetään Android Studio.app:lle Full Disk Access: MacOS System Settings > Privacy & Security > Full Disk Access.

ATAK SDK

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 Anroid-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!

ATAK SDK asennus emulaattoriin

  1. Vaihtoehto 1 (12/2025)
    1. Tools > Device Manager > + > Create Virtual Device > Pixel 9 Pro XL > Next > API: API 36.1 "Baklava"; Android 16.0 > Services: Google Play Store > valitaan Google Play ARM 64 v8a System Image > Additional settings > Internal storage 8 GB > RAM 8 GB > Finish.
  2. Vaihtoehto 2 (12/2025)
    1. Tools > SDK Manager > SDK Platforms > Android 11.0 ("R") > valitse AOSP ATD ARM 64 V8A System Image > Apply > OK
    2. 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.
  3. Käynnistetään emulaattori laitteen play-painikkeesta.
  4. Ladataan tak.gov-sivulta ATAK-CIV-5.5.0.7-SDK.zip tai ATAK-CIV-5.4.0.28-SDK.zip > puretaan zip-tiedosto > vedetään hiirellä tiedosto atak.apk emulaattorin ruudun päälle > avataan ATAK > hyväksytään kaikki mitä edellytetään.
  5. Jos ATAK-sovellus kaatuu, eikä pysy päällä annetaan macOS pääteohjelmassa 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.

Helloworld-lisäosan asennus emulaattoriin

Ohje 12/2025

  1. Ladataan tak.gov -sivustosta ATAK-CIV -sivulta kohdasta Developer Resources ATAK-CIV-5.5.0.7-SDK.zip > puretaan tiedosto haluttuun tietokoneen hakemistoon. Android Studioon asennuksen jälkeen sijaintia ei tule muuttaa.
  2. Lisätään plugins -niminen hakemisto SDK-hakemiston juurihakemistoon.
  3. Kopioidaan/siirretään samples-hakemistosta helloworld-hakemisto plugins-hakemistoon.
  4. Open > helloworld-hakemisto > valitaan 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. Odotetaan että helloworld-projekti tuodaan.
  6. View > Tool Windows > Build Variants > vaihdetaan :app-moduulille Atcive Build Variant nimeltään civDebug.
  7. Yläpalkista app-pudotusvalikosta Edit Configurations… > Launch: Nothing > Apply > OK.
  8. Asennetaan Android Studioon emlaattori, 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. Run (Android Studion yläpalkin vihreä play-painike) > Hello World Tool-lisäosa pyytää lupaa asentua emulaattorin ATAK-sovellukseen.
    1. Virheilmoitus: INSTALL_FAILED_CONFLICTING_PROVIDER.
      1. Vaihdetaan Android Studion vasemmasta yläkulmasta Android pudotusvalikosta Project.
      2. Avataan tiedosto app/src/main/AnroidManifest.xml > vaihdetaan rivi android:authorities="com.javacodegeeks.provider.Birthday" esimerkiksi android:authorities="com.helloworld.provider.Birthday"
  10. Avataan ATAK-valikossa Hello World Tool.

ATAK SDK asennus Android-päätelaitteeseen

HUOM! itse allekirjoitettuja (self-signed) lisäosia ei voi käyttää Play Storesta asennetussa ATAK-CIV-sovelluksessa, tämän takia on asennettava SDK-paketista atak.apk päätelaitteeseen. 
  • Tällöin tulee asennettaessa virheilmoitus: The signature for the plugin is INVALID. ja lisäosa ei asennu.
  • Perustiliin, kun tak.gov-sivustolle rekisteröidytään, ei kuulu ATAK Developer Build.
  • ATAK SDK on atak.apk-tiedosto SDK-juurihakemistossa. Lähetä se sähköpostilla, siirrä Google Driven/OneDriven avulla päätelaitteeseen tai käytä Android Studion adb-komentoa pääteohjelmassa.

Rinnakkaisasennus

Tavoitteena käyttää Play Storesta asennettua ATAK-CIV -sovellusta ja tak.gov -sivuilta ladattua ATAK SDK -sovellusta samanaikaisesti samassa Android-päätelaitteessa.

  • Shelter
    • 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 yrittää asentaa siihen profiiliin SDK atak.apk. (12/2025)
  • ATAK-CIV-5.6.0.5-SDK.zip sisältyvä atak.apk -paketin nimen muuttaminen ei onnistunut seuraavalla tavoin (macOS). Ilmeisesti syynä kovakoodatut viittaukset, 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, mutaman 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 riiviin 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.