std.android.apk_builder

APK-Datei aus Manifest, Ressourcen und kompilierter .so-Bibliothek zusammenstellen. Nutzt intern std.android.zip_writer und std.android.manifest_gen zur Erzeugung eines signierten oder unsignierten APK-Pakets.

std.android · std.android.zip_writer · std.android.manifest_gen


Verwendung

import std.android.apk_builder;

// APK-Builder initialisieren
var apk: ApkBuilder := ApkBuilderNew("myapp.apk");

// Manifest setzen (XML-String aus manifest_gen)
ApkBuilderSetManifest(apk, manifestXml);

// Native Bibliothek hinzufügen
ApkBuilderAddNativeLib(apk, "arm64-v8a", "libmyapp.so");

// Ressourcen-Archiv hinzufügen (optional)
ApkBuilderSetResources(apk, "resources.arsc", arscData, arscLen);

// Asset-Dateien hinzufügen
ApkBuilderAddAsset(apk, "config.json", configData, configLen);
ApkBuilderAddAsset(apk, "model.bin", modelData, modelLen);

// APK fertigstellen (unsigniert)
ApkBuilderFinalize(apk);
ApkBuilderFree(apk);


Funktionen

Signatur Sichtbarkeit Beschreibung
ApkBuilderNew(outPath: pchar): ApkBuilder pub Initialisiert APK-Builder für Ausgabedatei
ApkBuilderSetManifest(apk: ApkBuilder, xmlStr: pchar): void pub Setzt AndroidManifest.xml (als UTF-8-String)
ApkBuilderAddNativeLib(apk: ApkBuilder, abi: pchar, soPath: pchar): void pub Fügt .so-Bibliothek für die angegebene ABI hinzu
ApkBuilderSetResources(apk: ApkBuilder, name: pchar, data: pchar, len: int64): void pub Setzt resources.arsc-Blob
ApkBuilderAddAsset(apk: ApkBuilder, name: pchar, data: pchar, len: int64): void pub Fügt Asset-Datei ins assets/-Verzeichnis ein
ApkBuilderAddFile(apk: ApkBuilder, zipPath: pchar, data: pchar, len: int64): void pub Fügt beliebige Datei an angegebenem ZIP-Pfad hinzu
ApkBuilderFinalize(apk: ApkBuilder): void pub Schreibt APK-Datei (unsigniert)
ApkBuilderFree(apk: ApkBuilder): void pub Gibt Builder-Ressourcen frei

Letzte Aktualisierung: 2026-05-22