Wiem, że możesz znaleźć IMEI i adres MAC i inne, przechodząc do Settings -> About phone -> Status
. Możesz także znaleźć IMEI, pisząc *#06#
na klawiaturze. Czy jest jakiś sposób na uzyskanie ANDROID_ID na samym telefonie, w przeciwieństwie do tego za pomocą tego kodu?
Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
imei
android-id
Kalinka
źródło
źródło
Odpowiedzi:
Możesz to zrobić za pośrednictwem
adb
. O ile mi wiadomo nie wymaga rootowania (testowane na Galaxy Nexus z systemem 4.2.1 zbudowanym ze źródła AOSP):źródło
settings get secure android_id
zadb shell
jest najprostszy, uważam - bez obcych danych wyjściowych i nie wymaga rootowania. (Ze zwykłego terminala na urządzeniu wymagany jest root).źródło
android_sdk/platform-tools/
cmd lub innego terminala. 2.adb devices
aby sprawdzić, czy twój telefon komórkowy można znaleźć przez USB. 3adb shell
. 4. Uruchom polecenie w tej odpowiedzi.Ponieważ wariant Eldarerathisa nie zadziałał i nie chciałem instalować aplikacji tylko do tego celu, znalazłem inny sposób. Jedyna możliwa wada: Wymaga rootowania.
android_id
Znajduje się w trzeciej kolumnie (anonimowej tutaj w tym przykładzie).EDYTOWAĆ:
Pamiętaj, że NIE jest to
android_id
używane przez aplikacje Google. Wydaje się, że Google zdecydowało się na pewne zamieszanie. W przypadku Usług Play istnieje osobna pamięćandroid_id
przechowywana przez GTalk , jak wskazał post na blogu (zobacz również odpowiedź HassleFixes , która jest autorką StripSearch i na szczęście wskazała to w komentarzach):*#*#8255#*#*
android-
android_id
korzystają usługi GoogleSprawdziłem, że:
android_id
pobrany w ten sposób sposób działa poprawnie na urządzeniu bez zainstalowanych Google-Apps (używanych z BlankStore dostarczonym przez projekt NOGAPPS ).źródło
Powyższa odpowiedź ma
$ content query --uri content://settings/secure --projection value --where "name='android_id'"
w sobieJeśli wykonujesz to z powłoki, musisz uciec od cudzysłowów wokół android_id, ponieważ zostaną one zinterpretowane, a instrukcja SQL ich nie ma, co spowoduje powstanie nieznanej kolumny.
Moje pełne polecenie z bash wygląda na linię ...
$ adb shell content query --uri content://settings/secure --projection value --where "name=\'android_id\'"
^ Za mało reputacji, aby skomentować odpowiedź, która sugerowała to powyżej
źródło
adb shell
, a następnie uruchomiła inne polecenie w tej powłoce. Działa to dobrze bez uciekania się do cytatów. Twoja odpowiedź polega na uruchomieniu pojedynczego polecenia na głównym komputerze; w tym celu musisz uciec od cytatów.