Java Android安装唯一ID

Java Android安装唯一ID,java,android,security,Java,Android,Security,我一直在寻找识别安卓安装的最佳方法。我正在开发一款Android游戏,它将具有一些在线功能,如竞赛和统计数据,出于安全和可用性原因,我想将每个帐户绑定到创建它的设备上 我发现,但在答案上,它说ANDROID_ID可以很容易地从设备上窃取和更改。不是每个人都知道这一点,但这将是一个非常危险的后门,我不希望它被打开 因此,重点是: 它必须是每个安卓安装的唯一标识符(不是设备) 此标识符必须安全且不易被窃取 (可选)生成它的方法不需要高权限(例如每个示例的PHONE_状态) 我能想到的唯一方法是在应用

我一直在寻找识别安卓安装的最佳方法。我正在开发一款Android游戏,它将具有一些在线功能,如竞赛和统计数据,出于安全和可用性原因,我想将每个帐户绑定到创建它的设备上

我发现,但在答案上,它说ANDROID_ID可以很容易地从设备上窃取和更改。不是每个人都知道这一点,但这将是一个非常危险的后门,我不希望它被打开

因此,重点是:

  • 它必须是每个安卓安装的唯一标识符(不是设备)
  • 此标识符必须安全且不易被窃取
  • (可选)生成它的方法不需要高权限(例如每个示例的PHONE_状态)
  • 我能想到的唯一方法是在应用程序第一次运行时在公共服务器上生成一个应用程序并将其存储在文件中,但是这个文件很容易读取


    感谢阅读:)

    如果您打算将其用于比赛和统计,为什么不使用他们的谷歌帐户?(使用Google+登录和集成排行榜)可以为您节省大量时间和精力,同时提供熟悉且越来越有价值的用户体验。

    为什么不使用Google Plus id和Google Play Game服务呢?像您建议的定制解决方案在开发工作方面可能非常昂贵,并且几乎没有明显的好处。谷歌已经想好了这件事,并为你做了所有的重担。你真的想重新发明轮子吗?谢谢你的回答。谷歌Play服务是否有任何限制,哪一个是使用它开发的最低Android版本?这只是好奇,因为我会坚持使用安卓4+。@kmruiz-googleplay游戏服务可以回到安卓2.2