Когда я отлаживаю приложение в Andoird на моей xperia, я вижу что-то подобное в окне вывода консоли:
[2012-02-25 22:51:20 - App] Automatic Target Mode: using device '4258393032524D395735'
[2012-02-25 22:51:20 - App] Uploading App.apk onto device '4258393032524D395735'
Кто-нибудь знает, откуда взялось значение "4258393032524D395735"? Это значение выглядит как некоторый серийный номер устройства (но не ro.serialno
), который выдержит ro.serialno
перезагрузку и что именно то, что мне нужно. ANDROID_ID
изменяется после сброса настроек на xperia.
Это значение не соответствует TelephonyManager.getDeviceId()
.
ro.serialno
(из SystemProperties) является пустой строкой на этом xperia mini pro.
У меня также есть второе устройство (HTC) и там это значение IS от ro.serialno.
Я уверен, что это android.os.Build.SERIAL
http://developer.android.com/reference/android/os/Build.html#SERIAL
Когда вы перейдете к Settings-> О программе → Status-> Серийный номер, который является android.os.Build.SERIAL, и он исходит из свойств System/Environment: ro.serialno
Существует также Secure.Android_ID и TelephonyManager.getDeviceID()
И есть и другие, больше здесь
Я не уверен, что ваш конкретный вариант использования, но вы можете не хотеть этот идентификатор. Там есть сообщение в блоге Android Dev, в котором описывается эта ситуация (http://android-developers.blogspot.com/2011/03/identifying-app-installations.html) и рекомендуется против него. Есть также несколько сотен тысяч устройств с тем же "уникальным" идентификатором.
Там просто слишком много фрагментации в Android, чтобы вы могли получить простое значение, я предлагаю использовать метод для определения этого значения с помощью резервных копий на основе версии платформы и т.д.
Зачем вам нужно что-то, что сохраняется между сбрасыванием устройства?