web-dev-qa-db-ja.com

Android ADBからのデバイス識別子とAndroid SDK

Android adbとAndroid ADKの両方から一意のAndroidデバイス識別子を取得する最も簡単な方法を探しています。

たとえば、adb 'devices'コマンドを使用すると、接続されたデバイスのシリアル番号が画面に出力されます。同じシリアル番号を取得するためのAndroid SDKのメソッドをまだ特定していません。

一意の識別子が使用されているかどうかは気にしません。adbとAndroid sdkの両方から簡単に取得できるものです。デバイスのルート化はオプションではありません。

25
user163757

おそらくAndroid_IDを使用する必要があります。

これは、adbシェルを介してその値を照会する方法です。

settings get secure Android_id

または、設定コンテンツプロバイダーを照会することにより:

content query --uri content://settings/secure/Android_id --projection value
57
Alex P.

Androidは、すべてのデバイス関連情報をいずれかのsqlite DBに保存します。これらのデータベースは/ data/data /フォルダーにあります。これらのデータベースをadbから読み取るには、ルート権限が必要です。

Android idは/data/data/com.Android.providers.settings/databases/settings.dbで利用可能です

したがって、adbにはこのコマンドを使用します。

adb Shell sqlite3 /data/data/com.Android.providers.settings/databases/settings.db "select value from secure where name = 'Android_id'"

** adbのルートとしてadbを実行する必要があります

11
BabbarTushar

Android_ID を試してください。ドキュメントには、「[それ]は最初の起動時にランダムに生成され、デバイスの寿命が続く間は一定に保たれるべきです」と書かれています。

5
Andrzej Duś

Androidシリアル番号は、デバイス内で getprop で取得できます。

getprop ro.serialno

Javaから、 Runtime.exec() で実行できます。

4
McX

adbのようにシンプル

adb devices -l
1
Hadnazzar

私はadbを使用しています。まず、次のコマンドを使用して、接続されたデバイスID番号をリストします。

adb devices

出力は次のようになります。

List of devices attached
YOGAA1BBB412    device

前の出力から、デバイスID番号が必要になります(例:YOGAA1BBB412)。デバイスIDを取得するには、次のadbコマンドを使用します。

adb -s YOGAA1BBB412 Shell getprop | grep product.model

出力は次のようになります。

[ro.product.model]: [Lenovo YT3-X90F]

使用する getprop net.hostnameには Android unique Id があり、その後にキーワードAndroid-<64 bit Hexadecimal String>

例:

[net.hostname]: [Android-a487e0560d669e4a]
0
Navneet kumar

これを試して、Android以外のidを見つけてください。このコマンドは、基本的に電話に関するすべての情報を提供します。

adb -s <YOUR-DEVICE-ID> Shell getprop