Skip to content

CLI build option to omit embedded terminal assets #2897

Open

Description

@AuDevTist1C

Context & Problem Statement

With the ongoing work to replace the Alpine terminal environment with Ubuntu (#2699), the embedded terminal rootfs installation payload increases from ~15 MB to roughly ~90 MB. This expands the overall compiled APK artifact size to approximately 113 MB.

For developers working under a capped/metered internet connection, downloading ~113 MB APK artifacts for every incremental test run creates significant bandwidth overhead and friction during testing.

Developer Use Case & Workflow

  • Fork Testing Workflow: Before opening a Pull Request or pushing updates to an active PR branch, test APKs are compiled via custom GitHub Actions workflows on personal forks to verify feature implementations and bug fixes.
  • Current CLI Limitations: The standard build task npm run build paid dev apk forcefully bundles the complete embedded rootfs payload into the final APK.
  • F-Droid Build Workaround Constraints: Although the npm run build paid dev apk fdroid command excludes certain assets, F-Droid builds target legacy Android SDK levels (API 28), making them unsuitable for accurately testing modern Android API behaviors and release builds.

Proposed Solution

Could we introduce an optional CLI flag or environment parameter (e.g., --no-terminal-assets or via utils/storage_manager.mjs) during the build step?

This toggle would skip copying the heavy terminal rootfs package into platforms/android/app/build/outputs/apk/debug/, producing lightweight modern-target APKs specifically optimized for rapid iteration and bandwidth-constrained testing environments.

Key Benefits

  • Bandwidth Savings: Drastically reduces artifact download sizes from ~113 MB down to a fraction of the size for developers on capped data plans.
  • Faster CI/CD Iteration: Speeds up workflow execution, artifact packaging, and step summary generation during fork testing.
  • Targeted Verification: Allows thorough testing of non-terminal app features against modern API targets without carrying the extra ~90 MB terminal payload.

AI: Gemini 3.6 Flash

Activity

  1. RohitKushvaha01 commented on Sep 14, 2026

    @RohitKushvaha01
    Member

    You can use the fdroid version that doesn't include any inbuilt assets

  2. AuDevTist1C commented on Sep 14, 2026

    @AuDevTist1C
    ContributorAuthor

    F-Droid Build Workaround Constraints: Although the npm run build paid dev apk fdroid command excludes certain assets, F-Droid builds target legacy Android SDK levels (API 28), making them unsuitable for accurately testing modern Android API behaviors and release builds.

    I tried (non-F-Droid build)

    Screenshot_20260914-185651_GitHub.png

    Screenshot_20260914-185637_GitHub.png


    I expected Alpine assets to be excluded from this apk, dropping the size to ~25 MB

    Screenshot_20260914-185544_Chrome Beta.png

    Does Acode not even rely on Android 10 (or later) features anyway?

  3. RohitKushvaha01 commented on Sep 15, 2026

    @RohitKushvaha01
    Member

    F-Droid Build Workaround Constraints: Although the npm run build paid dev apk fdroid command excludes certain assets, F-Droid builds target legacy Android SDK levels (API 28), making them unsuitable for accurately testing modern Android API behaviors and release builds.

    I tried (non-F-Droid build)

    Screenshot_20260914-185651_GitHub.png

    Screenshot_20260914-185637_GitHub.png


    I expected Alpine assets to be excluded from this apk, dropping the size to ~25 MB

    Screenshot_20260914-185544_Chrome Beta.png

    Does Acode not even rely on Android 10 (or later) features anyway?

    You are confusing target sdk with android api,
    any app can use any android api no matter what target sdk it uses

    For example
    The all file access permission is a android 11+ api but it works on fdroid version too which uses target sdk 28 (android 8)

  4. moved this from Backlog to In progress in The Code Board - Acodeon Sep 19, 2026
  5. added a commit that references this issue on Sep 19, 2026
    7d828e9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions