# Byg videre på Zemla Bridge0.2.4 Dette er den tilsvarende kilde til APK0.2.4/code7. Ny kode og Humla-ændringer leveres under GPL-3.0-or-later. Se LICENSE og vendor/README.md for øvrige licenser, proveniens og de medfølgende native/crypto-kilder. Zello er separat software og følger ikke med. Android-pakken er dk.radiolink.zemlabridge. ## Build på egen Linux-computer Kræver Docker, rsync, Python3, Java11+ til apksigner og Android SDK med build-tools34.0.0. Compilerimage: quite/android-sdk-ndk:10 med Java21, SDK36/build-tools36.1.0; Gradle8.13/AGP8.13.2. Docker kan hente imaget med `docker pull quite/android-sdk-ndk:10`. Gradle henter dependencies ved første build. Versionsnumre og native-genbygning er beskrevet i BUILD.md og vendor/. Native .so og crypto-JARs er med som cached buildprodukter sammen med native-sources.tar.gz og spongycastle-sources.tar.gz og deres byggeinstruktioner. Ingen signeringsnøgler er med i kildepakken. Opret din egen: ```sh mkdir -p /var/tmp/zemla-signing keytool -genkeypair -keystore /var/tmp/zemla-signing/dev.keystore \ -alias androiddebugkey -storepass android -keypass android \ -keyalg RSA -keysize 3072 -validity 3650 -dname 'CN=Zemla development' export ZEMLA_TEST_KEY=/var/tmp/zemla-signing/dev.keystore export ZEMLA_ANDROID_SDK_ROOT=/sti/til/din/Android/Sdk export ZEMLA_SIGNING_JAVA=/sti/til/java11-eller-nyere/bin/java export ZEMLA_BUILD_DIR=/var/tmp/zemla-build export ZEMLA_GRADLE_CACHE=/var/tmp/zemla-gradle-cache bash tools/build.sh ``` APK og helper-dex lander i releases/. Scriptet kopierer dem også tilbage til kildemappen. Bevar din egen nøgle til fremtidige opdateringer. En egen signer kan ikke opdatere den offentliggjorte APK på stedet. Brug eventuelt et separat applicationId til egne forsøg; sikkerhedskopiér certifikat og indstillinger før et eventuelt pakkeskift. Du behøver ikke vores private nøgle for at bygge. ## Hardware og første prøve Afprøvet på Samsung SM-X200/Android14 med Zello7.18.2. minSdk29 er et buildkrav, ikke en garanti for funktion på alle Android29+-enheder. Den virtuelle lydrute bruger skjulte AudioPolicy-API'er som ADB-shell; der er ikke krav om root. En almindelig APK alene har ikke disse lydrettigheder. Se BUILD.md. 1. Installér egen APK, og åbn den. Opretter eget Mumble-certifikat og ADB-nøgle. 2. Godkend USB-fejlfinding fra egen computer og aktivér `adb tcpip 5555`. 3. Appen kan derefter starte den medfølgende hjælper over lokal TCP-ADB. Godkend appens egen ADB-nøgle ved første brug. TCP-porten kan skulle aktiveres igen efter genstart; automatisk boot-opstart er ikke implementeret. 4. Log selv ind i Zello. Vælg Echo eller en aftalt testkontakt før første lydprøve. 5. Indtast egen Mumble-server/port og bruger, og godkend servercertifikatet. Mumble-serveren bestemmer rummet. Bekræft Zello-modtageren, og start broen. 6. Maksimal sammenhængende sending er30sekunder; derefter kræves manuel start. ADB5555 giver godkendte klienter shell-adgang. Brug det kun på et betroet net, godkend kun kendte nøgler, og slå netværks-ADB fra igen, når det ikke bruges. Appens hjælperporte38761/38762 er kun loopback og kræver en tilfældig privat token. APK'en er en debuggable testbygning, ikke en produktionshærdet udgave. ## Chat og teststatus Lyd i begge retninger er prøvet;0.2.4 retter sampletiming og bruger20ms-blokke. Om denne ændring fjerner al oplevet hakken, er endnu ikke bekræftet. Zello-talernavne til Mumble er afprøvet. Chat er eksperimentel UI-styring via ADB UiAutomation: kræver ulåst tablet, synlig Zello-kanalhistorik og tilladt tekst på kanalen. Historikken følger de nyeste beskeder. Stop chat før du manuelt læser ældre historik. End-to-end-chat er endnu ikke bekræftet i begge retninger; den afprøvede kanal begrænser tekst. Egne beskeder, reserverede Mumble:/Zello:-præfikser og tidligere snapshots undertrykkes. Køtimeout10s. Andre UiAutomation-værktøjer kan forstyrre chatforbindelsen. Testkode findes i tests/, tools/audio-clock-tests/ og tools/chat-tests/. Prøvetoner må kun bruges på isoleret server og aftalt Echo/testkontakt. Rapportér gerne model, Android-/Zello-version, retning og observeret fejl, og del forbedringer sammen med den relevante GPL-kilde.