What is GitHub - build-Geode-mod?

Byg Geode Mods til Android: En Komplet Guide

13/12/2022

Rating: 4.02 (5556 votes)

Har du nogensinde drømt om at tilpasse din favoritspiloplevelse på Android med dine helt egne unikke funktioner eller forbedringer? Med Geode, den mest populære mod-loader til Geometry Dash på tværs af platforme, er det ikke kun muligt, men også mere ligetil, end du måske forestiller dig. Denne omfattende guide vil føre dig gennem hvert trin i processen med at bygge dit eget Geode mod specifikt til Android-platformen. Fra den indledende opsætning og forståelse af filstrukturen til selve kompileringen og installationen på din enhed, dækker vi alt. Uanset om du er en erfaren udvikler eller en nysgerrig nybegynder, vil du her finde de værktøjer og den viden, du skal bruge for at bringe dine modding-idéer til live og forbedre din spiloplevelse markant.

What is Geode & how does it work?
Geode is open-source and is designed to make the modding experience infinitely smoother for developers. Geode comes with a special hooking syntax as well as dozens of built-in UI components , utility functions , and everything else needed to make mods.
Indholdsfortegnelse

Hvad er Geode, og hvorfor er det essentielt for Modding?

Geode er fundamentet for et blomstrende modding-fællesskab inden for Geometry Dash. Det fungerer som en robust mod-loader, der gør det muligt for spillere at installere og administrere en bred vifte af mods. Med en aktiv base af både brugere og moddere er Geode blevet platformen, hvor næsten enhver tænkelig mod er blevet skabt eller foreslået. Dens popularitet skyldes ikke kun den lette adgang for slutbrugere, men også de omfattende værktøjer og den understøttelse, den tilbyder mod-udviklere. For Android-brugere åbner Geode op for en verden af tilpasningsmuligheder, der tidligere var forbeholdt pc-spillere. Dette betyder, at du kan nyde skræddersyede funktioner, grafiske forbedringer og nye gameplay-elementer direkte på din mobiltelefon eller tablet, hvilket forvandler den måde, du interagerer med spillet på.

Før Du Begynder: Den Nødvendige Opsætning til Android Modding

Inden du kan dykke ned i kodningen og kompileringen af dit mod, er der nogle afgørende forudsætninger, der skal opfyldes. Disse trin sikrer, at dit udviklingsmiljø er korrekt konfigureret til at håndtere Android-specifikke builds.

Installer Android NDK

Det første og vigtigste skridt er at installere Android NDK (Native Development Kit). NDK'en giver dig mulighed for at implementere dele af din applikation ved hjælp af native code-sprog som C og C++. For Geode mods er dette essentielt, da spillet selv er bygget med native kode. Du skal downloade NDK'en fra Google's officielle Android-udviklerportal. Vælg den seneste stabile version, der passer til dit operativsystem. Når du har downloadet den, skal du udpakke den til en passende placering på din computer. Det er yderst vigtigt at huske denne sti, da du skal bruge den til at indstille en miljøvariabel, som dit build-system kan finde.

Efter udpakning skal du indstille miljøvariablen ANDROID_NDK_ROOT til den fulde sti, hvor du udpakker NDK'en. Dette fortæller dit system og Geode CLI (Command Line Interface), hvor NDK'en er placeret. Hvis denne variabel ikke er korrekt indstillet, vil din kompilering sandsynligvis fejle. Processen for at indstille miljøvariabler varierer lidt afhængigt af dit operativsystem (Windows, macOS, Linux), men en hurtig søgning på "how to set environment variable [dit OS]" vil give dig de nødvendige instruktioner.

Installer Ninja (Kun Windows)

Hvis du arbejder på et Windows-system, er det også nødvendigt at installere Ninja. Ninja er et lille, men utroligt hurtigt build-system, der fokuserer på hastighed ved at minimere overhead. Det er ofte brugt sammen med CMake for at opnå markant hurtigere kompileringstider sammenlignet med traditionelle build-systemer. Hvis du allerede bruger pakkehåndteringen Scoop, er installationen ligetil og kan udføres med en enkelt kommando i din terminal:

scoop install ninja

Hvis du ikke bruger Scoop, kan du manuelt downloade Ninja fra dets officielle GitHub-side og derefter tilføje stien til dets eksekverbare fil til din PATH-miljøvariabel. Dette sikrer, at Ninja er tilgængeligt fra enhver kommandolinje.

Hent Geode Binaries til Android

Endelig skal du sørge for, at Geode CLI har de nødvendige binære filer, der er kompileret specifikt til Android-platformen. Disse filer er afgørende for, at Geode kan bygge dit mod korrekt og linke det med de Android-specifikke komponenter. Dette gøres nemt via Geode CLI selv:

geode sdk install-binaries -p android64

Denne kommando vil downloade og installere de nødvendige filer til 64-bit Android-arkitektur, som er standard for de fleste moderne Android-telefoner. Hvis du udvikler til en ældre 32-bit Android-telefon, skal du i stedet bruge:

geode sdk install-binaries -p android32

Det er vigtigt at vælge den korrekte arkitektur, der matcher den enhed, dit mod skal køre på, for at sikre fuld kompatibilitet og optimal ydeevne. Forsøg på at køre et 64-bit mod på en 32-bit enhed (eller omvendt) vil resultere i fejl.

Skab Dit Første Geode Mod: Trin for Trin

Med alle de nødvendige forudsætninger på plads er du nu klar til at generere skelettet til dit første Geode mod. Geode CLI gør denne proces utrolig enkel og automatiserer oprettelsen af den grundlæggende projektstruktur.

Åbn en terminal eller kommandoprompt i den mappe, hvor du ønsker at oprette dit projekt. Dette vil være rodmappen for dit nye mod. Kør derefter følgende kommando:

geode new

CLI'en vil nu guide dig gennem en række interaktive spørgsmål. Disse prompts vil bede dig om grundlæggende oplysninger om dit mod, såsom dets navn (f.eks. "My Awesome Mod"), et unikt ID (f.eks. "com.example.mymod"), og potentielt andre metadata. Svar på spørgsmålene omhyggeligt, da disse oplysninger vil blive brugt til at konfigurere dit mod. Når processen er afsluttet, vil du finde en ny mappe i din aktuelle arbejdsmappe, der bærer navnet på dit mod. Denne mappe indeholder alt det nødvendige kode- og konfigurationsgrundlag for dit nye mod, klar til at blive udfyldt med din egen logik.

Forstå Mod-Filstrukturen

Når du har oprettet dit nye mod med geode new, vil du bemærke, at projektmappen allerede indeholder flere foruddefinerede filer og mapper. Det er essentielt at forstå formålet med hver af disse for at kunne udvikle og vedligeholde dit mod effektivt:

  • CMakeLists.txt: Dette er den primære konfigurationsfil for dit CMake-projekt. CMake er et kraftfuldt tværplatformsværktøj, der bruges til at administrere byggeprocessen. Denne fil definerer, hvordan dit mod skal bygges, hvilke kildekodefiler der skal inkluderes, hvilke biblioteker det er afhængigt af, og hvordan det skal linkes. Du vil sandsynligvis skulle redigere denne fil, hvis du tilføjer nye kildekodefiler eller eksterne afhængigheder.
  • about.md: Her kan du skrive en detaljeret og omfattende beskrivelse af dit mod i Markdown-format. Tænk på det som en README-fil til dit mod. Den bør indeholde information om, hvad dit mod gør, hvordan det bruges, eventuelle kendte problemer, systemkrav, og eventuelle særlige instruktioner. Selvom den teknisk set er valgfri, anbefales den kraftigt, da den giver brugere og potentielle bidragsydere værdifuld information og forbedrer dit mods professionalisme.
  • logo.png: Dette er ikonet for dit mod, som vil blive vist i spillet, typisk i Geode Mod Browseren. Ligesom about.md er det valgfrit, men stærkt anbefalet for at give dit mod et professionelt og genkendeligt udseende. Et godt designet ikon kan øge dit mods synlighed og appel markant.
  • mod.json: Denne JSON-fil indeholder alle de vigtigste metadata om dit mod. Det inkluderer navnet på dit mod, dets version, en kort beskrivelse, forfatteroplysninger, eventuelle brugerdefinerede ressourcer, indstillinger og afhængigheder til andre mods. Dette er en kritisk fil, da den styrer, hvordan Geode loader og interagerer med dit mod, og den definerer dets opførsel i spillet. Sørg for at udfylde den omhyggeligt og korrekt. Fejl i denne fil kan forhindre dit mod i at blive indlæst.
  • src mappen: Denne mappe indeholder selve kildekoden til dit mod. Det er her, du vil skrive din C++-kode, implementere logikken for dine modifikationer, og interagere med spillets interne strukturer. Typisk vil du finde en main.cpp eller lignende fil her som udgangspunkt.

Udover disse standardfiler kan Geode også lede efter nogle specielle filer i din mod-mappe, der tjener yderligere formål:

  • changelog.md: En Markdown-fil, der lister alle ændringer, nye funktioner, fejlrettelser og forbedringer mellem forskellige versioner af dit mod. Dette er yderst nyttigt for brugere, der ønsker at se, hvad der er nyt i hver opdatering.
  • support.md: En fri-form informationsfil om, hvordan brugere kan vise deres støtte til mod-udvikleren. Dette kan inkludere links til donationsplatforme, sociale medier, eller blot en opfordring til at give feedback.

Hvis du planlægger at udgive dit mod til et bredere publikum, er det absolut nødvendigt at redigere og tilpasse både about.md og logo.png for at give dit mod en professionel og indbydende præsentation. Disse filer er ofte det første indtryk, brugere får af dit arbejde.

How do I build a geode mod for Android?
Now you can build your mod for Android via: # Or if you're using a 32 bit phone You can then copy the built .geode file from the build-android64 folder to your phone at this location: If you have followed the steps earlier and installed all the required tools with geode sdk install-linux, building should be as simple as on Windows:

Kompilering af Dit Mod til Android

Når din kode er skrevet, og filstrukturen er på plads, er det tid til at kompilere dit mod til en eksekverbar .geode-fil, der kan installeres på din Android-enhed. Geode CLI forenkler denne proces betydeligt, men det er også muligt at udføre en manuel kompilering for mere kontrol.

Nem Bygning med Geode CLI

Den mest ligetil og anbefalede måde at bygge dit mod på for Android er at bruge geode build kommandoen med den passende platformsparameter. Denne kommando abstraherer mange af de komplekse CMake- og NDK-indstillinger, hvilket gør processen hurtig og fejlfri. Naviger til din mods rodmappe i terminalen og kør:

geode build -p android64

Denne kommando vil konfigurere og bygge dit mod specifikt til 64-bit Android-arkitekturen. Hvis du bygger til en ældre 32-bit telefon, skal du i stedet bruge:

geode build -p android32

Denne kommando vil automatisk oprette en build-mappe (f.eks. build-android64) og placere den kompilerede .geode-pakke derinde, når processen er fuldført. Hvis alt går glat, er din mod-fil nu klar til installation.

Manuel Bygning med CMake (Alternativ)

I sjældne tilfælde, eller hvis du foretrækker en mere manuel tilgang, kan du bygge dit mod direkte ved hjælp af CMake-kommandoer. Dette er især nyttigt, hvis du støder på problemer med geode build kommandoen (hvilket du i så fald bør rapportere til Geode-teamet for at hjælpe med at forbedre CLI'en!). Den manuelle metode giver dig fuld kontrol over alle byggeparametre.

Fra din mods mappe, kør følgende kommandoer i rækkefølge:

# Konfigurer CMake-projektet til Android. # -B build opretter en build-mappe. # -DCMAKE_TOOLCHAIN_FILE peger på Android NDK's værktøjskæde. # -DANDROID_ABI angiver den målrettede arkitektur (arm64-v8a for 64-bit, armeabi-v7a for 32-bit). # -DANDROID_PLATFORM angiver den minimale Android SDK-version, dit mod understøtter (standard er ofte android-23). cmake -B build -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-23 # Byg projektet med "RelWithDebInfo" konfigurationen. # Denne konfiguration inkluderer debugging-information, men er stadig optimeret til ydeevne, ideel til udgivelse med debugging-muligheder. cmake --build build --config RelWithDebInfo

Bemærk, at -DANDROID_ABI skal indstilles til armeabi-v7a for 32-bit builds, og -DANDROID_PLATFORM angiver den minimale Android SDK-version, dit mod understøtter (standard er ofte 23, som er Android 6.0 Marshmallow). Denne manuelle metode kræver en dybere forståelse af CMake og Android NDK-værktøjskæden, men giver maksimal fleksibilitet.

Installation af Dit Mod på Android-enheden

Efter en vellykket kompilering har du nu en .geode-fil, der er klar til at blive installeret på din Android-enhed. Hvis du har oprettet en profil i Geode CLI og konfigureret den til at installere automatisk, er dit mod muligvis allerede placeret korrekt. Dette er dog primært en funktion for desktop-installationer. For Android foretrækkes ofte manuel installation.

Find den kompilerede .geode-fil i din build-android64 (eller build-android32) mappe på din computer. Denne fil er den færdige pakke, der indeholder dit mod.

Kopier denne fil til følgende specifikke placering på din Android-telefon. Denne sti er standard for Geode Launcher til at detektere og indlæse mods:

/storage/emulated/0/Android/media/com.geode.launcher/game/geode/mods/

Du kan overføre filen til din telefon på flere måder:

  • USB-kabel: Den mest almindelige metode er at tilslutte din Android-telefon til din computer via et USB-kabel. Sørg for, at din telefon er indstillet til "Filoverførsel" (MTP)-tilstand, og naviger derefter til den angivne mappe.
  • Filhåndteringsapp: Hvis du har en filhåndteringsapp på din telefon (f.eks. Solid Explorer, FX File Explorer), kan du overføre filen via cloud-tjenester (Google Drev, Dropbox) eller netværksdeling og derefter flytte den til den korrekte destination.
  • ADB (Android Debug Bridge): For mere avancerede brugere kan ADB bruges til at "pushe" filen direkte fra computeren til telefonen via kommandolinjen, hvilket kræver, at udviklerindstillinger og USB-fejlretning er aktiveret på telefonen.

Når .geode-filen er placeret korrekt i /storage/emulated/0/Android/media/com.geode.launcher/game/geode/mods/, vil Geode Launcher automatisk opdage og indlæse dit mod, næste gang du starter Geometry Dash. Husk at genstarte spillet, hvis det allerede kører, for at sikre, at det nye mod bliver aktiveret.

Avancerede Byggemuligheder med GitHub Actions

For mod-udviklere, der ønsker at automatisere deres byggeproces, sikre konsistens på tværs af platforme og lette distributionen, er GitHub Actions en uvurderlig ressource. Dette giver dig mulighed for at bygge dine mods i skyen, hver gang du foretager en ændring i din kode, og endda kombinere builds for flere platforme til en enkelt .geode-fil.

Hvad er GitHub Actions?

GitHub Actions er en CI/CD-platform (Continuous Integration/Continuous Deployment), der er integreret direkte i GitHub. Den lader dig automatisere, bygge, teste og udrulle din kode direkte fra din GitHub-repository. For Geode mods findes der en specifik GitHub Action kaldet geode-sdk/build-geode-mod, som er designet til at strømline hele byggeprocessen og understøtter alle Geode-kompatible platforme, inklusive Android.

How do I build a geode mod for Android?
Now you can build your mod for Android via: # Or if you're using a 32 bit phone You can then copy the built .geode file from the build-android64 folder to your phone at this location: If you have followed the steps earlier and installed all the required tools with geode sdk install-linux, building should be as simple as on Windows:

Opsætning af GitHub Action til Android Builds

For at bruge GitHub Action til at bygge dit Android mod, skal du oprette en YAML-fil i .github/workflows/ mappen i dit repository. Denne fil definerer dit workflow. Her er et eksempel på, hvordan en grundlæggende opsætning kan se ud for at bygge et Android-mod, der kører på en Ubuntu-runner i skyen:

name: Build Geode Mod on: push: branches: - main # Udløs workflow'et ved push til main-grenen pull_request: branches: - main # Udløs workflow'et ved pull requests til main-grenen jobs: build: runs-on: ubuntu-latest # Kør jobbet på den seneste Ubuntu-version steps: - uses: actions/checkout@v3 # Tjek din repository ud - name: Build Android64 Mod uses: geode-sdk/build-geode-mod@main # Brug Geode SDK's bygge-action id: build_android64 # Et unikt ID for dette trin with: target: Android64 # Specifikt mål for Android 64-bit sdk: 'latest' # Brug den seneste stabile SDK-version cli: 'latest' # Brug den seneste stabile CLI-version export-symbols: true # Eksportér Breakpad symbols for bedre debugging på Android - name: Upload Android64 Artifact uses: actions/upload-artifact@v3 # Upload den byggede .geode-fil som en artefakt with: name: MyMod-Android64 path: ${{ steps.build_android64.outputs.build-output }} # Stien til den byggede fil

I dette eksempel vil din mod blive bygget til Android 64-bit, hver gang der skubbes kode til main-grenen eller en pull request oprettes. export-symbols: true er især nyttigt for Android-builds, da det genererer Breakpad symbols. Disse symbols kan bruges til at "oversætte" crash-logs (stack traces) fra maskinkode til menneskelæselig kode, hvilket gør debugging af crashes på Android-enheder betydeligt nemmere.

Kombinering af Multi-Platform Builds

En af de mest kraftfulde funktioner ved GitHub Actions i forbindelse med Geode er muligheden for at bygge mods for forskellige platforme (f.eks. Windows, macOS, Android32, Android64) og derefter kombinere dem til en enkelt .geode-fil. Dette gøres typisk ved hjælp af en matrix-strategi i dine GitHub Actions-jobs og et separat job til at kombinere de genererede artefakter.

For at muliggøre kombinationen skal du indstille combine: true i dit build-action for hvert platformspecifikke job. Dette signalerer til GitHub Action, at build-outputtet skal forberedes til senere sammensmeltning. Det fulde workflow for dette er mere komplekst, men du kan finde detaljerede eksempler i Geode SDK's officielle GitHub-repository, specifikt i filen examples/multi-platform.yml, som viser, hvordan man bygger til Mac, iOS, Android armv7 og armv8, Windows og derefter kombinerer dem.

Nøgleparametre, du kan konfigurere i build-geode-mod action, inkluderer:

  • sdk og cli: Vælg specifikke versioner ('latest', 'nightly' eller et versionsnummer for Geode SDK og CLI).
  • configure-args og build-args: Ekstra argumenter, der kan sendes direkte til CMake under henholdsvis konfigurations- og byggefasen.
  • build-config: Bestemmer byggekonfigurationen (f.eks. 'Release' for optimeret kode, 'Debug' for nemmere fejlfinding, eller 'RelWithDebInfo' som er en god balance).
  • export-pdb / bundle-pdb: Specifikt for Windows builds, til eksport eller bundling af Program Database (PDB) filer, der er nødvendige for debugging.
  • export-symbols: For Android builds, til generering af Breakpad symbols for crash-rapportering.
  • android-min-sdk: Minimum Android SDK version, som dit mod skal målrette (standard er 23, svarende til Android 6.0 Marshmallow).
  • use-lto: Om Link Time Optimization skal bruges. LTO kan reducere den endelige build-størrelse og potentielt forbedre ydeevnen på bekostning af en længere byggetid (standard er true).

Tabel: Sammenligning af Byggemetoder for Geode Mods

For at hjælpe dig med at vælge den bedste byggemetode til dine behov, er her en sammenligning af de forskellige tilgange:

MetodeFordeleUlemperAnbefales til
geode build -p androidXX (Geode CLI)
  • Meget nem at bruge og hurtig at komme i gang med.
  • Automatisk håndtering af de fleste platform-specifikke indstillinger.
  • God til hurtige iterationer og tests under udvikling.
  • Mindre kontrol over dybdegående CMake-indstillinger.
  • Kræver lokal opsætning af Android NDK og Geode SDK på din maskine.
Nybegyndere, hurtige tests, standardudvikling, personlig brug.
Manuel CMake-bygning
  • Fuld og detaljeret kontrol over alle byggeparametre.
  • Nyttig til fejlfinding af komplekse byggeproblemer.
  • Kan integreres i avancerede brugerdefinerede scripts og CI-systemer.
  • Kompleks og tidskrævende at sætte op korrekt.
  • Kræver dybere viden om CMake, Android NDK og build-processen.
  • Større risiko for menneskelige fejl og konfigurationsproblemer.
Erfarne udviklere, specifikke optimeringer, dybdegående fejlfinding af byggeproblemer.
GitHub Actions
  • Fuldt automatiseret og konsistent byggeproces.
  • Ingen lokal opsætning af NDK/SDK (alt kører i skyen).
  • Understøttelse af multi-platform builds og kombination af artefakter.
  • Nem distribution af byggede artefakter via GitHub.
  • Kræver kendskab til GitHub Actions YAML-syntax og CI/CD-koncepter.
  • Den indledende opsætning kan være tidskrævende.
  • Fejlfinding kan være sværere, da det kører i et fjernmiljø.
Open-source projekter, teams, regelmæssige udgivelser, multi-platform mods, professionel udvikling.

Ofte Stillede Spørgsmål (FAQ)

Hvad er det primære programmeringssprog for Geode Mods?

Geode mods skrives primært i C++, da de interagerer direkte med spillets native kode og udnytter de lavniveau-funktioner, som C++ tilbyder. Kendskab til C++ er derfor essentielt for at udvikle funktionelle og effektive mods.

Kan jeg bygge et mod for både 32-bit og 64-bit Android-enheder?

Ja, absolut! For at understøtte begge arkitekturer skal du køre geode sdk install-binaries og derefter geode build kommandoerne separat for hver arkitektur (android32 og android64). Du kan derefter vælge at distribuere begge versioner som separate .geode-filer eller, for en mere strømlinet tilgang, bruge GitHub Actions til at bygge og kombinere dem til en enkelt pakke, der indeholder begge arkitekturer.

Hvor finder jeg mere detaljeret information om mod.json?

Den officielle Geode SDK-dokumentation indeholder en dedikeret side med detaljeret information om alle felter og muligheder i mod.json. Det er din bedste ressource for at sikre, at din mod-metadata er korrekt konfigureret og overholder Geode's standarder, hvilket er afgørende for, at dit mod kan indlæses og fungere korrekt.

Hvad er Breakpad symbols, og hvorfor skal jeg eksportere dem for Android?

Breakpad symbols er debugging-informationer, der genereres under kompileringen. Når et Android-mod crasher, kan disse symbols bruges til at "oversætte" de kryptiske crash-logs (stack traces) fra maskinkode til menneskelæselig kode, der inkluderer filnavne, funktionsnavne og linjenumre. Dette gør fejlfinding af crashes på Android-enheder betydeligt nemmere og er stærkt anbefalet for enhver udgivet mod for at kunne diagnosticere og løse brugerrapporterede problemer effektivt.

Hvad betyder "Link Time Optimization" (LTO) i kontekst af mod-bygning?

Link Time Optimization (LTO) er en avanceret kompilerings- og linkteknik, der optimerer den samlede kode for hele programmet (eller mod'et) på link-tidspunktet, i stedet for kun på kompilerings-tidspunktet for individuelle filer. Dette giver compileren et bredere overblik over hele koden, hvilket kan føre til mindre eksekverbare filer og potentielt hurtigere kode, da compileren kan udføre mere aggressive optimeringer. Ulempen er, at byggetiden ofte bliver længere. For mobile enheder, hvor lagerplads og ydeevne er kritiske, kan LTO være en stor fordel.

At bygge Geode mods til Android åbner op for en verden af personalisering og forbedring af din spiloplevelse. Selvom det kræver en vis teknisk opsætning og forståelse af udviklingsværktøjer, er processen med Geode CLI og GitHub Actions gjort så tilgængelig som muligt. Ved at følge denne omfattende guide er du nu godt på vej til at skabe, kompilere og installere dine egne unikke mods, der kan berige din tid med Geometry Dash på Android. Husk at eksperimentere, lære af fællesskabet og bidrage til det blomstrende Geode-økosystem. God fornøjelse med modding!

Hvis du vil læse andre artikler, der ligner Byg Geode Mods til Android: En Komplet Guide, kan du besøge kategorien Teknologi.

Go up