Developer Guide
Edge Platforms · Intel® Core™ Processor (14th Gen), Intel® Processor N150, Intel® Processor N250, and Intel® Core™ 3 Processor N355
This Developer Guide provides implementation and validation information for the Android* 16 Base BSP Reference Release for Intel® Core™ Processor (14th Gen) (code named Raptor Lake-S Refresh); and Intel® Processor N150, Intel® Processor N250, and Intel® Core™ 3 Processor N355 (code named Twin Lake).
Static Location Service
This section provides guidance for application developers to read or write the device's statically configured location.
Location Provider
Use the following location-provider name when calling the LocationManager API to read the location:
"static"
Read Location
Applications can use this provider to determine the device's location.
Required Android Permission
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Sample Code
LocationManager lm = (LocationManager)getSystemService(LocationManager.class);
Location location = lm.getLastKnownLocation("static");
if (location != null) {
double lat = location.getLatitude();
double lon = location.getLongitude();
Log.d("STATIC_PROVIDER", "Lat=" + lat + " Lon=" + lon);
}
Write / Update Location
Manageability applications use this provider to configure the device's static location during provisioning.
Required Permission
<uses-permission android:name="android.permission.LOCATION_HARDWARE" />
Sample Code
IBinder binder = ServiceManager.getService("location_control");
ILocationControlService service = ILocationControlService.Stub.asInterface(binder);
service.setHalLocation(12.9716, 77.5946);
Validate Trusty Enablement
Trusty is a secure operating system that provides a Trusted Execution Environment (TEE) for Android and supports security services, including Gatekeeper and KeyMint. In this release, Trusty is supported only on Intel® Core™ Processor (14th Gen). Use the following steps to confirm that Trusty is correctly enabled on the flashed device.
adb after the device has fully booted into Android. The image must be built with Trusty enabled (see the Trusty Build section of the Getting Started Guide).Step 1: Verify the Trusty HAL Properties
Confirm that the Gatekeeper and Keystore hardware-selection properties are set to Trusty.
Check the Gatekeeper property:
adb shell getprop ro.hardware.gatekeeper
Expected output:
trusty
Check the Keystore property:
adb shell getprop ro.hardware.keystore
Expected output:
trusty
Step 2: Verify the Trusty Device Nodes Are Present
Verify that the Trusty IPC and log device nodes are exposed by the kernel:
adb shell ls -la /dev/trusty*
Expected output (device numbers may vary):
crw-rw---- 1 system drmrpc 246, 0 2026-09-16 18:18 /dev/trusty-ipc-dev0
crw------- 1 root root 10, 259 2026-09-16 18:18 /dev/trusty-log0
The check passes when both /dev/trusty-ipc-dev0 and /dev/trusty-log0 are listed.
Step 3: Confirm the KeyMint and Gatekeeper Services Are Backed by Trusty
Verify that the Trusty-backed KeyMint and Gatekeeper HAL services are running:
adb shell ps -ef | grep -iE "keymint|gatekeeper"
Example output (PIDs, start times, and formatting may vary):
nobody 369 1 0 23:18:01 ? 00:00:00 android.hardware.security.keymint-service.rust.trusty --dev /dev/trusty-ipc-dev0
system 612 1 0 23:18:09 ? 00:00:00 android.hardware.gatekeeper-service.trusty --dev /dev/trusty-ipc-dev0
system 728 1 0 23:18:10 ? 00:00:00 gatekeeperd /data/misc/gatekeeper
The Trusty-specific KeyMint and Gatekeeper HAL executables are the primary indicators that Trusty is enabled. Both android.hardware.security.keymint-service.rust.trusty and android.hardware.gatekeeper-service.trusty must be present to confirm that the two HAL services are backed by Trusty. If android.hardware.gatekeeper-service.nonsecure appears instead, Gatekeeper is running without Trusty backing.
The gatekeeperd process is expected, but its presence alone does not prove that Trusty is enabled. Verify that the Trusty-specific HAL executables shown above are also running.
ENABLE_TRUSTY=true was exported before running lunch.