AndroidのUUIDに関して、iOSとはちょっと異なっていたので忘れないように覚書です。
AndroidのUUIDに関しては、ちょっとググるといろいろ出てくるので、
ここでは割愛します。
・標準で取得できるUUIDでは、必ずしもユニークならない。
・バージョンによって規格が違う
などなどを以下のサイトで知りました。
http://jx-script.blogspot.jp/2010/03/javautiluuid.html
出来る限りユニークになるUUID取得方法を提示されていたので
バージョン1を使用することにしたのですが、
Androidで使うにはちょっと簡単にはいかなかったので記載しておきます。
使用できなかったパターン1
以下にあるjarをインストールしました。
http://johannburkard.de/software/uuid/
ビルドは通り、いざ実行すると
NoClassDefFoundError: com.eaio.uuid.UUID
が出力され、使用できなかったです。。。
libsにあるjarは削除。
使用できなかったパターン2
gradleに最新版を取得するようにして行えば変わるかと思い、
compile ‘com.github.stephenc.eaio-uuid:uuid:3.4.0'
としてビルド。
ビルドはオッケー。いざ実行すると同じ。。。
build.gradleに記載したコードは削除。
使用できたパターン
以下のスライドを参考にさせて頂きました。
http://www.slideshare.net/tomorrowkey/uuid
どうやら内部で使用している CORBA ライブラリがJavaコンパイルバージョン違いでAndroidでは使用できないようです。
なので、直接コードをプロジェクトに入れて、com.eaio.uuid.UUID にimportしている CORBA をコメントアウト。
implementsに記載してある CORBA も削除。
いざビルドするも、Fail。。。
内容を確認して
UUIDHelper.java
UUIDHolder.java
でも CORBA を使用していて、UUID.javaからは使用していなかったので、
ファイル毎削除。
ビルドも通り、実行してUUIDを取得することができました。
iOSと違ってUUIDの扱いが様々あってちょっと苦労しました。。。