Galaxy-S でANDROID_IDが全機種同じ

2,862 views
Skip to first unread message

kagi

unread,
Dec 4, 2010, 1:46:00 AM12/4/10
to 日本Androidの会
端末を識別するため、ANDROID_ID を使ってましたが、
Galaxy-S ではシュミレータの ANDROID_IDがそのまま実機で出ます。 (全機種同じ ANDROID_ID)
おまけにMACアドレスもnull になる。

とりあえず、
上記の場合のみ
 IMEI+SIMNumber
など幾つかの情報の合わせ技 で端末を識別する事にしました。



Samsungさん
ちゃんとテストして出荷してください~。

joao

unread,
Dec 4, 2010, 3:04:01 AM12/4/10
to 日本Androidの会
他にも、DROID2は全機種が同じANDROID_IDです。

IMEIを使う方法で解決はできるのですが、留意するべき点が二つあります。
1. 本来アプリの動作に必要のないなパーミションの要求が必要になる
2. 「携帯電話端末である」という前提条件が作られる

1つ目に関しては大したことないと思いますが、2つ目は今後携帯電話端末以外の機器が出た場合は問題が発生するかもしれませんね。

もし、端末単位の識別が必須ではなかったら、アプリの初回起動で独自なユニーク値を作り、インストールアプリ単位の識別を行った方が良いと思います。

kagi

unread,
Dec 4, 2010, 10:57:46 PM12/4/10
to 日本Androidの会
Res ありがとうございます。

今回は SIM付きの携帯用アプリなので現状でなんとか間に合いそうです。

ANDROID_IDで端末を識別していたアプリなんか全滅なんですが、
どう対処しているのでしょう?

tm sute

unread,
Dec 5, 2010, 1:58:34 AM12/5/10
to android-g...@googlegroups.com
tmsuteです。

とても気になったので調べて見ると、

http://developer.android.com/reference/android/provider/Settings.Secure.html

public static final String ANDROID_ID
Since: API Level 3

A 64-bit number (as a hex string) that is randomly generated on the
device's first boot and should remain constant for the lifetime of the
device. (The value may change if a factory reset is performed on the
device.)

ということなので、全個体が同じANDROID_IDだというのは解せないものの、
#1回でも起動したことのあるROMイメージを、cloneしたのかなあ。
端末のユニークなIDとしては使えない、いやこれは滅多に変更されない
ただのrandam()でしかない、と思いました。

よーするに、ANDROID_IDというのはそもそも不要ではなかろうかぐらい
の勢いで使えないですね。

Ryosuke OISHI

unread,
Dec 5, 2010, 4:06:43 AM12/5/10
to android-g...@googlegroups.com
おおいしです。

IssueTrackerで報告されてますね。
http://code.google.com/p/android/issues/detail?id=10639&q=android_id&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

これを読む限り、ro.serialnoという変数を、カーネルの起動オプション等で与えてあげる必要があるようです。
ANDROID_IDが固定値になってしまう機種は、この初期化のシーケンスに(仕様上はOKだが)問題があるのでしょう。
CTSの仕様バグとして認識されてはいるようなので、そのうち修正されるのだろうとは思います。


2010/12/5 tm sute <tms...@gmail.com>:

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>

--
Ryosuke OISHI

Reply all
Reply to author
Forward
0 new messages