AppsinityAPPSINITY
Builds and uploads

APK versus AAB

Appsinity accepts both, but it does not treat them the same way: an AAB is converted into a universal APK before anyone can install it.

Open Appsinity Studio

The difference on Appsinity

APKAAB
AcceptedYesYes
Installed directly by a playerYesNo
What Appsinity does to itzipalign, then apksignerbundletool build-apks --mode universal, then zipalign + apksigner
Result recorded assignedApkUrlsignedApkUrl pointing at universal.apk
Delivers per-device optimisationsNoNo — universal mode flattens them
SizeWhole appUniversal APK, larger than a split APK
Important: Appsinity does not run a Play-style per-device delivery. An AAB becomes one universal APK that contains every configuration, so the size advantage of the format is not available to your players here.

Which to upload

  • If the app also goes to Google Play, upload the AAB there and the same AAB here. One artefact to keep version codes for.
  • If Appsinity is the only Android distribution, the APK is honest: it is what the player receives after signing either way, and skipping the conversion removes a step that can fail.
  • A very large app should prefer APK — the universal APK is the biggest version of your app that will ever exist.
  • Never upload an XAPK or a split set: .xapk is blocklisted and there is no split-install path.

Version codes

There is no version-code input in Studio, so the number baked into the manifest is the only one that exists. Keep it monotonically increasing across releases, and do not reuse a code after a rejected upload.

The version segment in the storage path comes from the upload, not the manifest — typically Date.now() — so two builds with the same manifest code can sit side by side in storage. Make the listing point at the right one.

Watch out: An update signed with a different key cannot install over an existing one. On Appsinity the key is Appsinity's, so this is normally automatic; the exception is a build you previously distributed yourself.

What happens after upload

  1. Extract. The Studio API can inspect the package through POST /api/apps/:appId/builds/extract.
  2. Sign. POST /api/apps/:appId/builds/sign runs the pipeline described in App signing.
  3. Scan. The malware scanner runs on the signed output before distribution.
  4. Publish. The signed object is copied to storage and the record gains signedApkUrl.

Frequently asked questions

Does AAB reduce my download size here?

No. Universal mode produces a single APK holding every language, density and ABI, which is normally larger than a targeted APK.

Can players get an AAB?

They cannot install one. The store hands out the signed APK it produced.

Which format do you recommend for a first release?

AAB if Play is also a target, APK if it is not. Both end up as a signed APK on Appsinity.

Need help?

Developer publishing support: [email protected]
General support: [email protected]
Partnerships: [email protected]