Saya tahu bahwa Anda dapat menemukan IMEI dan alamat MAC dan lainnya dengan mengunjungi Settings -> About phone -> Status
. Anda juga dapat menemukan IMEI dengan mengetik *#06#
di papan tombol. Apakah ada cara untuk mendapatkan ANDROID_ID di telepon itu sendiri, sebagai lawan melalui sedikit kode ini?
Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
imei
android-id
Kalinka
sumber
sumber
Jawaban:
Anda dapat melakukannya melalui
adb
. Tidak memerlukan root, sejauh yang saya tahu (diuji pada Galaxy Nexus yang menjalankan 4.2.1 dibangun dari sumber AOSP):sumber
settings get secure android_id
dariadb shell
adalah yang paling sederhana, saya menemukan - tidak ada output yang asing dan tidak memerlukan root. (Dari terminal reguler di perangkat, root diperlukan.)sumber
android_sdk/platform-tools/
dengan cmd atau terminal lain. 2.adb devices
untuk memeriksa apakah ponsel Anda dapat ditemukan melalui USB. 3adb shell
.. 4. Jalankan perintah dalam jawaban ini.Karena varian eldarerathis tidak berfungsi untuk saya, dan saya tidak ingin menginstal aplikasi hanya untuk itu, saya telah menemukan cara yang berbeda. Hanya kelemahan yang mungkin: Ini membutuhkan root.
Itu
android_id
ditemukan di kolom ketiga di sini (dianonimkan dalam contoh).EDIT:
Catatan bahwa ini adalah TIDAK yang
android_id
digunakan oleh aplikasi Google. Google tampaknya telah memutuskan untuk beberapa kebingungan di sini. Untuk Play Services , adaandroid_id
penyimpanan terpisah oleh GTalk , seperti yang ditunjukkan oleh sebuah posting blog (juga lihat jawaban ini oleh HassleFixes , yang merupakan autor dari StripSearch , dan untungnya menunjukkan hal ini dalam komentar):*#*#8255#*#*
android-
android_id
digunakan oleh Layanan GoogleSaya telah memverifikasi bahwa: cara yang
android_id
diambil ini berfungsi dengan baik pada perangkat tanpa Google-Apps diinstal (digunakan dengan BlankStore yang disediakan oleh proyek NOGAPPS ).sumber
Jawaban di atas ada
$ content query --uri content://settings/secure --projection value --where "name='android_id'"
di dalamnyaJika Anda mengeksekusi ini dari shell maka Anda harus menghindari tanda kutip di sekitar android_id jika tidak mereka ditafsirkan dan pernyataan SQL tidak memilikinya, menghasilkan kolom yang tidak diketahui.
Perintah lengkap saya dari bash looks line ...
$ adb shell content query --uri content://settings/secure --projection value --where "name=\'android_id\'"
^ Tidak cukup reputasi untuk mengomentari jawaban yang menyarankannya di atas
sumber
adb shell
, dan kemudian menjalankan perintah lain di dalam shell itu. Ini berfungsi dengan baik tanpa lolos dari kutipan. Jawaban Anda menjalankan satu perintah pada mesin utama; untuk ini, Anda perlu melarikan diri dari kutipan.