Model delivery

Android APK Size vs Model Download Size

Separate application package, ABI splits, bundled assets, model transfer, temporary files, installed storage, updates, and runtime memory.

Review status: Fact and editorial QA complete; owner review pending · 2026-10-04 · Fact IDs: COVE-DOWNLOAD-01, MEMORY-02

Direct answer

APK or App Bundle size and model-download size are different quantities with different measurement points. The application package contains executable code, resources, and possibly bundled assets; the model may instead be downloaded on first use, installed as a separate artifact, or delivered through device-targeted package splits. Installed storage can include extracted code, model bytes, optional assets, and temporary update candidates. Runtime RAM is another distinct measure and cannot be derived from either transfer size or archive size. To answer “how much must I download or free,” inventory the exact release artifact and model path, then report each value with source and scope. The repository’s current ModelConfig contains an expected length for the E2B model artifact and explicitly marks E4B size metadata as placeholder. The ModelDownloader uses that configuration for a storage precheck and progress fallback. This is evidence about development configuration, not the size of a publicly distributed Cove APK or App Bundle. The site fact cards also state there is no verified public APK distribution evidence. Therefore this guide must not publish a Cove package-size number or promise an available download. It can explain how a release team measures those quantities when a signed, distributable artifact exists. For APKs, Android Studio APK Analyzer can inspect file composition, compare APKs, and show entries within an archive. For App Bundles, the final delivered APK set can depend on device configuration and generated splits; the uploaded bundle is not the same as each installed split set. Record the exact build variant, version code, ABI/resource splits, and package bytes inspected. Do not compare a universal debug APK with a device-specific release delivery as if they were the same. If a model is bundled as an asset, measure the asset entry and installed representation; if it is downloaded separately, measure the actual transfer object and any extraction or copy. Use separate ledgers for four questions: what bytes are downloaded; what bytes are in the distributable archive; what bytes occupy persistent app/model storage after setup; and what temporary space is needed for updates or verification. A safe update may need both the active model and candidate at once; a resumed partial file may occupy space before the final model is installed. The exact footprint depends on whether the app extracts or copies assets, keeps old variants, stores caches, and places files in app-specific or shared storage. Measure the actual configured path and operation instead of applying a single “model size plus buffer” rule to every device. Do not conflate package size with network transfer size. An archive can compress resources; a model file may be delivered outside the app package; a store may generate split APKs; and a download client may retry or resume. Report whether a number is compressed package bytes, transferred bytes, installed bytes, or space required during update. If a manifest expected length is a placeholder or a remote server omits a trustworthy length, describe it as unknown and use an indeterminate progress state. Avoid estimating carrier charges from bytes, and do not invent time-to-download. Memory planning is separate. A lower-bound weight estimate does not include runtime buffers, context/KV cache, tensors, allocator behavior, or operating-system headroom. A model can have one file size and a different runtime working set. This page is about storage accounting only; do not convert it into RAM requirements, device compatibility, or performance claims. Those require their own exact artifact, runtime, workload, and device evidence. Similarly, a compressed APK size says nothing about whether a model parser can read the installed asset; package access and runtime validation remain separate. The user-facing explanation should use a table or breakdown with exact measurement labels, revision, source, and point in lifecycle. Include “app download,” “model download,” “installed model files,” “temporary update space,” and “runtime memory” as separate categories, marking any unverified category unavailable rather than copying a value from another variant. A storage precheck should be tied to the operation it gates and the destination volume. A warning should explain whether the app can proceed, wait, cancel, or choose another approved cleanup path. Never delete conversations, photos, or notes automatically to meet a guessed threshold. ### Procedure 1. Freeze the exact application build, signing/distribution artifact, model revision, and delivery mode. Identify whether the model is bundled, split-delivered, separately downloaded, imported, or not yet available. 2. Measure each package artifact with Android tooling. Record APK/AAB or split identity, build variant, device configuration where relevant, archive bytes, and any bundled model entry. 3. Measure model transfer and installed storage separately. Record the authoritative manifest/response source, final path, extraction or copy behavior, optional variants, caches, and temporary candidate files. 4. Exercise fresh install and update paths. Test staging with old and new files present, interruption, verification, cleanup, and destination-volume changes; observe actual storage after each stage. 5. Publish only scoped evidence. Label download bytes, package bytes, installed bytes, and temporary-space requirement separately; keep RAM and performance out unless independently measured. ### Acceptance criteria - Every size value identifies the exact artifact/build and whether it means archive, transfer, installed storage, or temporary peak. - APK/AAB splits and model files are not added together or compared without stating the delivery configuration. - Placeholder or unverified values remain unavailable; no Cove public APK, availability, RAM, device, or speed claim is inferred. - The storage warning is based on the actual destination and operation and never removes user-created records automatically. ### Comparison | Quantity | How to measure | Does not establish | |---|---|---| | APK/AAB or delivered split bytes | Inspect the exact signed build and device-targeted output | Separate model-download bytes or runtime RAM | | Model transfer bytes | Measure the exact model object and response/manifest scope | Installed footprint if extracted or copied | | Runtime memory | Profile the exact artifact/runtime/workload on a recorded device | App package size or download requirement | ### FAQ **Is model download size included in the APK size?** Only when the model is actually bundled in that package or delivered asset set. If it is fetched separately, report its transfer and installed-storage values independently. **Does an App Bundle have one size for every user?** Not necessarily. Device-targeted APK splits can differ by ABI, density, or resources. Identify the exact bundle, generated split set, and target configuration before comparing bytes. **Can I use the model file length as the free-space requirement?** Not by itself. Installation may need an active copy, candidate, partial transfer, extraction, or verification workspace. Measure the actual path and update operation and state the scope. **Does a smaller APK or model file mean it uses less RAM?** No. Archive and weight bytes do not include runtime buffers, tensors, cache, or system headroom. Memory claims need separate measurements for the exact artifact and workload.

A user wants to know how much space setup and an update require

A product team is preparing an offline-capable AI app and must explain application package size, a separately delivered model, installed storage, and the temporary space used while replacing a model. The public package is not yet verified, so no Cove-specific release size can be stated.

Decision

Measure each artifact and lifecycle stage separately, attach source and revision to each value, and leave unavailable release data explicitly unknown.

Expected outcome

The setup page can explain what is measured and which values remain unverified without implying a public APK, RAM threshold, or universal device requirement.

Evidence to collect

The claim becomes reviewable only when the following evidence is attached to the same artifact and test run:

  • Bundle and split measurements
  • Model artifact manifest
  • Download, install, update, and cleanup records

A completed byte stream is not enough. Final placement, integrity, runtime load, and recovery must also pass.

Implementation workflow

  1. Define package and delivery mode. Record build variant, version, signature artifact, and whether the model is bundled, split-delivered, separately downloaded, user-imported, or not yet distributed.
  2. Inspect the exact APK/AAB output. Use Android tooling to inspect the APK or generated split set. Capture artifact identity, archive bytes, ABI/resource configuration, and any model assets in the package.
  3. Measure model bytes at their own boundary. Use a trusted manifest or response scope for the model transfer. Record final stored path, extraction/copy behavior, and any optional variants or caches.
  4. Measure setup and update staging. Run clean install and update flows with candidate and active artifacts, interrupted writes, verification, and cleanup. Observe actual destination storage at each phase.
  5. Write scoped user-facing labels. Separate app download, model download, installed model files, temporary update space, and runtime memory. Mark unverified categories unknown and avoid deleting user data.

Keep each transition observable. A failure should identify the stage, artifact, runtime, and recovery action without logging private user content.

Acceptance criteria

  • Each byte figure names the exact build/artifact and measurement stage.
  • App package, split set, model transfer, installed storage, and temporary space are not conflated.
  • Unavailable evidence does not become a Cove APK/release, RAM, compatibility, or performance statement.
  • Any storage precheck reflects the actual destination and update operation, with user data excluded from cleanup.

Decision table

DimensionChoice or evidenceHow to interpret it
APK/AAB or split sizeExact package inspectionDoes not include a separately downloaded model or runtime RAM.
Model transfer sizeExact object/manifest measurementDoes not equal installed bytes when extraction or copies occur.
Runtime memoryDevice/task profilingCannot be calculated from package or file length alone.

Failure patterns to prevent

  • Adding rounded marketing sizes
  • Calling transfer bytes RAM requirements

Also prevent silent fallback, unpinned artifacts, missing cancellation, and conclusions that combine unlike configurations. Store unsuccessful runs alongside successful ones.

Minimum reproducibility record

LayerRecord
DeviceManufacturer, model, chipset, RAM class, operating-system build
SoftwareApplication version and git commit
ModelFamily, variant, revision, format, file length, hash, quantization
RuntimeName, revision, requested backend, observed backend evidence
WorkloadFixture revision, input hash, prompt hash, output policy
OutcomeCompleted, failed, cancelled, fallback, and privacy-safe diagnostics

Release checklist

  • ☐ The primary query is answered without an unsupported number.
  • ☐ Every artifact and runtime is pinned.
  • ☐ The representative task and failure policy are explicit.
  • ☐ Lifecycle, cancellation, cleanup, and fallback are tested.
  • ☐ User-content and network boundaries are documented.
  • ☐ Result wording applies only to the recorded configuration.
  • ☐ The page links to raw method or evidence when results are added.

Sources and related evidence

Chinese deployment and troubleshooting content is organized in the .奇连 AI 端侧专题.

Frequently asked questions

Is a separately downloaded model included in APK size?

Only when that model is actually bundled in the app package or delivered asset set. A separate download and installed footprint need their own values.

Does an App Bundle have one size for every device?

Not necessarily. Device-targeted splits can vary by ABI, density, and resources. Compare a specific generated split set and configuration, not an abstract bundle label.

Is model file length enough for a free-space warning?

No. The operation can require an active copy, partial candidate, extraction, or verification workspace. Measure the real destination and update path.

Does a smaller package mean lower runtime RAM?

No. Runtime buffers, tensors, cache, and operating-system headroom are separate. Measure memory for the exact artifact, runtime, workload, and device.