Preload

Getting Started with the Appnext OOBE Client

📘

📘Before you begin

Compatibility
• Supports all Android devices running Android 9.0 (Pie) and above
Client Information
Provided files:
• Appnext OOBE client application – signed by Appnext
• Deep link for easy wizard testing: (will work only in android device with our app installed)
• Acceptance test plan, prepared and executed by Appnext

🚧

Please note:

The OOBE app does not install/update apps w/o user consent on any time with the exception of the device’s first boot customization. Moreover, we do not keep user data in our servers and standing in the GDPR requirements.

Step 1: OOBE APK Deployment Instructions

• Embed the Appnext OOBE APK to  /system/priv-app
• Set the following permissions (644) to the APK file:
Owner: Read, Write
Group: Read
Others: Read

Step 2: Requested Implementation of OEM

Pre-install the Appnext OOBE APK on device according to deployment instructions
(System -> priv-app*)

Special secure permissions should be attached to the client,
implemented in the etc/permissions folder

Step 3: Required APK permissions

APK Permissions
• android.permission.ACCESS_NETWORK_STATE
• android.permission.ACCESS_WIFI_STATE
• android.permission.DEVICE_POWER
• android.permission.DOWNLOAD_WITHOUT_NOTIFICATION
• android.permission.GET_PACKAGE_SIZE
• android.permission.INSTALL_PACKAGES
• android.permission.INTERNET
• android.permission.READ_PHONE_STATE
• android.permission.RECEIVE_BOOT_COMPLETED
• android.permission.WAKE_LOCK
• android.permission.WRITE_EXTERNAL_STORAGE
• android.permission.WRITE_SECURE_SETTINGS
• android.permission.READ_SETTINGS
• com.google.android.c2dm.permission.RECEIVE
• android.permission.VIBRATE
• com.android.launcher3.permission.INSTALL_SHORTCUT
• com.android.launcher3.permission.UNINSTALL_SHORTCUT
• android.permission.REQUEST_INSTALL_PACKAGES

Step 4: Required Secure APK permissions:

APK is already whitelisted by google API.
Should be implemented as an XML file in the following device system folders (according to device):
/etc/permissions
/system/etc/permissions

Permission whitelists for applications are listed in a single or multiple XML files located in the /etc/permissions directory. Following are the optional files:
• /etc/permissions/privapp-permissions-<OEM_NAME>.xml
• /etc/permissions/privapp-permissions-<DEVICE_NAME>.xml
• /etc/permissions/privapp-permissions-<PACKAGE_NAME>.xml

APK Secure Permissions
• android.permission.BATTERY_STATS
• android.permission.DEVICE_POWER
• android.permission.INSTALL_PACKAGES
• android.permission.INTERACT_ACROSS_USERS
• android.permission.READ_SETTINGS
• android.permission.WRITE_SECURE_SETTINGS

📘

Please note:

For Samsung devices, the following android APK permission and APK Secure permission is not needed: android.permission.INSTALL_PACKAGES

Step 5: "Install unknown apps" permissions

In the “Install unknown apps” permissions for the client, the “Allow from this source” settings must be set to “Allow”

Step 6: Android 10 Adaptation

For Android 10 and above, during silent installation, a notification of “Installing” appears. This is required for Android to prioritize the app for the download and installation to be quick.