Вы можете использовать Android id. Этот id должен быть уникальным для устройств, но то, как он устанавливается, зависит от реализации производителя устройства.
String deviceId = Secure.getString(context.getContentResolver(),Secure.ANDROID_ID);
Android Id может измениться при сбросе телефона на заводские настройки, и пользователь также может изменить его на рутированных телефонах. Но если вам нужен идентификатор для идентификации пользователя, он должен быть в порядке.
Android уже предоставляет служба лицензирования для использования в платных приложениях. Есть причина, по которой вы не хотите это использовать? Имейте в виду, что попытка привязать ваше приложение к определенному телефону будет действительно раздражать пользователей, которые переключают устройства (например, все они рано или поздно).