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
