Skip to main content

APK requirements

Your Android app must meet certain specifications to run on yetipay terminals. These requirements ensure your app runs securely and compatibly on the device.

This page applies if you're building an app for yetipay devices — for example, an On Device (Android Intents) integration.


Specifications

RequirementLimit
APK file size200 MB (live) / 700 MB (test)
OS & SDKDepends on terminal model — your minSdkVersion in AndroidManifest.xml must match the device. S1F2 runs Android 9 (SDK 28); S1E2L, S1U2 run Android 10 (SDK 29); SFO1 runs Android 13 (SDK 33).
App versionversionCode must be unique for each release.
Native codeMatch the terminal's CPU: ARM32 (armeabi-v7a) or ARM64 (arm64-v8a). Some models support both.

Your implementation manager can confirm which terminal models and SDK versions apply to your setup.


Allowed permissions

Terminals allow only a restricted set of permissions for security. Permissions such as INTERNET, CAMERA, BLUETOOTH, ACCESS_NETWORK_STATE, VIBRATE, WAKE_LOCK, and others are supported. If your app requests a permission not on the allowed list, it will be rejected.

Your implementation manager can provide the complete list of allowed permissions for your terminal model.


Restrictions

  • No launcher apps — Apps with CATEGORY_HOME intent are not allowed.
  • No testOnly flag — Not permitted in AndroidManifest.xml.
  • No custom accessibility services — Creating your own accessibility service is not allowed.
  • No debug mode — USB debugging (adb) is not enabled on terminals.
  • No browser / Google Play — Terminals do not have a browser or Play services installed.
  • No downgrades — You cannot install an older version over a newer one; upgrade or uninstall only.
  • No BIND_DEVICE_ADMIN — This permission is not allowed.

WebView apps

If your app uses WebView, ensure compatibility with the WebView versions supported on the terminal. Check Settings → Device info on the device for the Android version. Your implementation manager can provide WebView version compatibility details for your terminal model.


Debugging and testing

You cannot debug directly on the terminal — USB debugging is disabled for security.

  1. Develop on a standard Android device — Install your app on a regular Android phone/tablet with USB debugging, and use adb to debug.
  2. Deploy to a test terminal — Work with your implementation manager to upload the app, install it on a test device, and run integration tests.
  3. Go live — Repeat with a live terminal when ready.

If you hit issues on the terminal, your implementation manager or the Support Center can help check device logs.