Fix Market For Slates

From Wiki
Jump to: navigation, search

Many many thanks to Clockworx, enjoys1, oozeeh, Noah98 and many others For figuring this out.

Contents

FIX THE ANDROID MARKET ON SLATES

Your download never starts because you do not have a working androidID after you sign into the market.

So what we are going do is get one from another android device with a working market. Copy down the androidID and insert it on to the slate.

There are 2 main ways:

  1. Copy one from A Phone
  2. From The Emulator

Get AndroidID From A Phone

I don't have a Android phone so Just some instructions here for now. (send me some Screen shots and I will add them here)

Using the ADB tool from the sdk Connect your device and give this command:

adb shell sqlite3 /data/data/com.google.android.googleapps/databases/gls.db "select * from meta";

The androidID will be displayed. Save it and go to Copy to slate section

Make a new androidID with the Emulator


  • Download Special System.img for market.
  • Launch SDK Setup
    • Select Installed packages
  • Make sure the following packages are Installed in the SDK:
    • Android SDK Tools Revision 6
    • SDK Platform Android1.6, API4, revision 3
    • USB Driver package, revision 3
    • Market Licensing package, revision 1

file:mk-00.jpg

  • If packages not installed use Available packages to install them.
  • Select Virtual Devices and press New

file:mk-01.jpg

  • fill out box with Name: "Market Fix", Target: "Android 1.6", SD Card Size: 10, Skin: Default (HVGA), Hardware: LCD Density "160", Device Ram Size "1024", Touchschreen Support
    • Some users report crashes with above settings if so try
      • Name: "Market Fix", Target: "Android 1.6", SD Card Size: 0, Skin: Default (HVGA), Hardware: LCD Density "160", Device Ram Size "96", Touchschreen Support

file:mk-02.jpg

  • Press Create AVD

file:mk-03.jpg

  • Press OK
  • Press details and Note path listed.

file:mk-04.jpg

  • Go to the Path listed and copy the system.img you downloaded earlier.

file:mk-05.jpg

  • Back at the SDK close the details window and press start.

file:mk-06.jpg

  • Press Launch

file:mk-07.jpg

  • When Boot has completed

file:mk-08.jpg

  • Click on Andy
  • Press on Begin,Next,Next

file:mk-09a.jpg

  • Since you have a Google account already set up on your slate Press Sign In
  • If you get a Slide Keyboard message.

file:mk-09.jpg

  • Press Crtl-F11

file:mk-10.jpg

  • Enter Username and Password
  • Press Sign In
  • If you get a Slide Keyboard message.

file:mk-ll.jpg

  • Press Crtl-F11 Again

file:mk-12.jpg

  • Press Finish Setup

file:mk-13.jpg

  • You will see the roundish Synch symbol in the Notification Bar.

file:mk-14.jpg

  • When it is gone, you are done with the emulator for now Lbut LEAVE IT OPEN
  • Open a Cmd Window and go to the SDK Tools Folder
  • Enter the Command
adb shell sqlite3 /data/data/com.google.android.googleapps/databases/accounts.db "select * from meta";

file:mk-15.jpg

  • You will then see the androidID

file:mk-16.jpg

  • Save the AndroidID Number
  • Close the Emulator and the SDK

Enter the androidID into your slate

    • There two ways to connect to with ADB Choose only one

1. USB

  • Make Sure USB Debugging is On Settings-> Appications->Development->USB Debugging
 a.Plug in USB Cable

OR

2. TCP/IP

 a. Connect device to network. Wi/fi or Lan. Note what IP address you are using.
 b. adb Connect IPAdress:5555
  • Back at the CMD Window Enter
adb devices

file:mk-17.jpg this is a TCP/IP connected Device

  • Now Enter the command
adb shell sqlite3 /data/data/com.google.android.googleapps/databases/gls.db "update meta set intvalue='number_from_previous_commands' where name='androidId'";

file:mk-18.jpg

  • When the command line returns you are done at the PC.
  • Unplug the USB cable or
  • Disconnect TCP/IP
adb disconnect IPAddress:5555
  • Reboot your Slate
  • Open the Market Select an app and download.
  • DONE!

Trouble Shooting

  • There are so many things that can go wrong that I expect that this area will be larger than the rest of the How To

SQLite Issues

When you give the command

adb shell sqlite3 /data/data/com.google.android.googleapps/databases/gls.db "update meta set intvalue='number_from_previous_commands' where name='androidId'";

You get the error

  • /system/bin/sh: sqlite3: not found

file:mk-tr-01.jpg

adb shell means run the rest of this on the device
So this means the database program SQLite is missing or not setup properly on your device.
Since SQLite is part of the SDK we can run the program from the PC side.
But the gls.db is on the device and the SQLite program is on the PC.

Adb pull is a command to copy from the device to the PC so enter this command in your cmd window:

adb pull /data/data/com.google.android.googleapps/databases/accounts.db

Depending on your device this might work.

file:mk-tr-05.jpg

Or you get a permission error.

file:mk-tr-02.jpg

  • Skip this step if the command worked for you.

So now we need to change permissions on accounds .db

  • Enter
adb shell
  • at the / $ enter
su
  • Check your device you may have a screen asking if you will allow SU permissions Press allow
taking a screen shot of the su permissions page crashed my device so for now no screenshot here

your CMD screen should look like this:

file:mk-tr-03.jpg

  • enter this command
chmod 777 /data/data/com.google.android.googleapps/databases/accounts.db
  • enter
exit

to exit the su area

  • enter
exit

to exit the ADB shell area you should be back at the command line in the tools folder

file:mk-tr-04.jpg

  • Now we enter the pull command again
adb pull /data/data/com.google.android.googleapps/databases/accounts.db

file:mk-tr-05.jpg


Now that we have accounts.db local, we need to put the AndroidID in it.

  • Enter the command and cange the xxxxxxxxxxxxx to your AndroidId
sqlite3 accounts.db "update meta set intvalue='xxxxxxxxxxxxxxxxxxx' where name='androidId'"

Next put the corrected accounts.db back into the device.

  • Enter
adb push accounts.db /data/data/com.google.android.googleapps/databases/

file:mk-tr-06.jpg

  • Reboot your device

Done Market should work now.

ADB Issues

  • Some people are having problems with installing USB drivers for ADB under Windows 7
  • if your device supports it connect by TCP/IP as shown in the main part of this How To
  • A more complete troublsooting guide is coming but for now see [ADB Forum Win 7 Fix]
  • Make Sure USB Debugging is On Settings-> Appications->Development->USB Debugging

Emulator Issues

  • There are some reports of the emulator sometimes crashing under windows XP. Cause and Fix are unknown at this time.

Contact mogrith [here] or in the forums if you have more info.

Personal tools