기기에서 ANDROID_ID를 어디서 찾을 수 있습니까? Status. *#06#키패드 로 입력하여 IMEI를

로 이동하면 IMEI 및 MAC 주소 및 기타 정보를 찾을 수 있음을 알고 있습니다 Settings -> About phone -> Status. *#06#키패드 로 입력하여 IMEI를 찾을 수도 있습니다 . 이 코드를 사용하는 것과 반대로 전화 자체에서 ANDROID_ID를 얻는 방법이 있습니까?

Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);



답변

를 통해이 작업을 수행 할 수 있습니다 adb. 내가 아는 한 루트가 필요하지 않습니다 (AOSP 소스에서 빌드 된 4.2.1을 실행하는 Galaxy Nexus에서 테스트 됨).

shell@android:/ $ content query --uri content://settings/secure --projection value --where "name='android_id'"
  settings/secure --projection value --where "name='android_id'"
  Row: 0 value=<your ID in hexadecimal>
shell@android:/ $


답변

settings get secure android_idfrom adb shell은 가장 간단합니다. 외부 출력이 없으며 루트가 필요하지 않습니다. (장치의 일반 터미널에서는 루트가 필요합니다.)

shell@mydevice:/ $ settings get secure android_id
0123456789abcdef
shell@mydevice:/ $


답변

으로 eldarerathis 변형이 나를 위해 작동하지 않았다, 나는 단지에 대한 응용 프로그램을 설치하지 않았다, 나는 다른 방법을 찾았습니다. 가능한 단점 : 루트가 필요합니다.

adb shell
$ su
# cd /data/data/com.android.providers.settings/databases
# sqlite3 settings.db
sql> select * from secure where name='android_id';
26|android_id|1234567890abcdef1

android_id(이 예에서는 익명) 여기서 세 번째 열에서 발견된다.


편집하다:

이 것을 참고 하지android_id 구글 앱 사용. 구글은 혼란을 결정한 것으로 보인다. 들어 플레이 서비스 , 별도의 거기 android_id에 저장된 GTalk을 같은, 블로그 포스트에 의해 지적 아웃 (참조 HassleFixes로이 답변 의 autor입니다 StripSearch을 , 감사하게 의견이 밖으로 지적) :

  • 다이얼러를 불러
  • 다이얼 *#*#8255#*#*
  • “장치 ID”를 조심하십시오
  • 선행을 제거 android-
  • 남아있는 것은 Google 서비스 에서 android_id사용하는 것입니다.

확인했습니다 : android_id이 방법으로 검색 한 구글 앱이 설치되지 않은 기기 ( NOGAPPS 프로젝트에서 제공 하는 BlankStore 와 함께 사용 ) 에서 제대로 작동 합니다.


답변

위의 대답이 $ content query --uri content://settings/secure --projection value --where "name='android_id'"그 안에

쉘에서 이것을 실행하면 android_id 주위의 따옴표를 이스케이프 처리해야합니다. 그렇지 않으면 해석되고 SQL 문에 따옴표가 없으므로 알 수없는 열이 발생합니다.

bash의 내 명령은 모두 선처럼 보입니다 …
$ adb shell content query --uri content://settings/secure --projection value --where "name=\'android_id\'"

^ 위에서 제안한 답변에 대해 언급 할만한 평판이 충분하지 않음


답변