zlp1992/android-market-api

How should we get the ANDROID_ID??

Closed this issue · 4 comments

Hi, 
I work for a smart phone device company.

I want to update application that is built-in (apk files in system/app) from 
google market.

we already included feature (\frameworks\base\data\etc\~.xml) not to show any 
other person when we open that application in your market, and we used 
<uses-feature> tag in that app in order to filter at market.

With that works, when we upload our application to your market, we checked out 
that applications are only shown in our phone. 

But, when we search applications with using <market open api> that shared to 
other developers, we cannot find our applications at the market.

We can use the search function when we search through mymarket or google market 
but the search function doesn’t work with the application created with the 
use of market open api. 

Apps that has no features can be find easyily, but we cannot find our system 
applications.

So we checked out the differenciations between them and found out 
(RequestContext.Builder.setAndroidId API) is different in 
RequestContext.Builder (about android ID)


We were able to search for the applications that use the distinct features of 
the manufacturer when we configured the setting with the androidID value that 
we got through base64 decoding which is the packet that’s sent out randomly 
when the google market search function is used.  

AndriodID is not IMSI value, not IMEI value, not Settings.Secure.ANDROID_ID 
value.

How should we get the value?  
(We can perform platform signing and we have access to all authorization.)

Another questions is that we need to know the ID and the password when we log 
in to the market and we can figure out the ID through account manager. 

We can get it through the method of getPassword through the accountManager’s 
password and this is not an actual password value but a very long string which 
is in a code. 

It starts with ‘AFcb4KQ…’ and goes on and on. 

I would like to ask for your assistance in getting the password as well.  


Thank you and we will wait for your reply. 


Original issue reported on code.google.com by kttech...@gmail.com on 7 Nov 2010 at 3:33

Your question(s) are somewhat hard to understand?

Settings.Secure.ANDROID_ID - should retrieve you the valid androidId of a 
device.

Ad for "getPassword" this is a password hash, the direct password is not meant 
to be recoverable on the device. It also has nothing to do with this api.

Original comment by strazz@gmail.com on 7 Dec 2010 at 12:58

Person never replied, this is out of scope anyway

Original comment by strazz@gmail.com on 11 Apr 2011 at 10:42

  • Changed state: WontFix
Hi,
the andriod_id is kept in gtalk's database gservice.db(in Long type, you need 
converting to hex string). but normal application no permission to access the 
database. But you can access it by root permissioin. ex. setup a service to 
read the database in init.rc

Original comment by gengqian...@gmail.com on 10 Jan 2012 at 1:14

No, root is not needed. I've described it here: 
http://blog.codepainters.com/2012/01/17/how-to-obtain-gtalk-android-id/

Original comment by codepain...@gmail.com on 17 Jan 2012 at 9:38