Archive | Android RSS for this section

Backup Shazam Tags from Android without Root

Image

1. Connect your phone via USB and backup Shazam data files. The adb command is part of the Android SDK. You will need to change the package name “com.shazam.encore.android” to “com.shazam.android” if you have the free version.

adb backup -f com.shazam.encore.android.ab com.shazam.encore.android

2. Convert the backup file to a tar file.

dd if=com.shazam.encore.android.ab bs=1 skip=24 | openssl zlib -d > com.shazam.encore.android.tar

3. Extract the tar file.

tar -xvf com.shazam.encore.android.tar

4. Export the data from the database using sqlite.

$ sqlite3 ./apps/com.shazam.encore.android/db/library.db
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .output tags.sql
sqlite> .dump
sqlite> .exit

5. Or export csv data with this sql from spectas

$ sqlite3 ./apps/com.shazam.encore.android/db/library.db
sqlite> .mode csv
sqlite> .output tags.csv
sqlite> SELECT a.name , t.title, t.subtitle, t.album, t.subgenre_name, tg.short_datetime, tg.location_name, tg.lat, tg.lon 
FROM artist a, artist_track at, track t, tag tg
WHERE a.id = at.artist_id AND at.track_id = t._id AND tg.track_id = t._id ORDER BY tg.timestamp;
sqlite> .exit
Advertisements

Android Emulator with Google Play Store

  1. Download and extract the Android SDK.
  2. Connect your physical Android phone via USB.
  3. Download apk files. Note that Phonesky.apk may be called Vending.apk on older phones.
    $ for file in GoogleLoginService.apk GoogleServicesFramework.apk Phonesky.apk; do sdk/platform-tools/adb pull /system/app/$file; done
  4. Unplug your Android phone. This prevents error: more than one device and emulator when copying the apk files.
  5. Start the emulator, replacing <avd> with the name of your avd.
    $ sdk/tools/emulator -avd <avd> -partition-size 384 &
  6. Copy apk files (after emulator starts).
    $ sdk/platform-tools/adb remount && for file in GoogleLoginService.apk GoogleServicesFramework.apk Phonesky.apk; do sdk/platform-tools/adb push $file /system/app; done
  7. Open the Play app and log in with a Google account.
    GooglePlayStoreAndroidEmulator

I used apk files from a Galaxy Nexus running 4.2.1 Jelly Bean and Google Play Store version 4.1.10. My avd is Android 4.2.2 – API Level 17 Intel Atom (x86).
Android AVD Settings

Android Emulator with Market App

UPDATE: See the new version at https://khom.wordpress.com/2013/06/16/android-emulator-with-google-play-store/

Download Android SDK

  1. Go to http://developer.android.com/sdk/index.html
  2. Download the SDK for your platform
  3. Unzip the files

Create an Android Virtual Device (AVD)

  1. To launch the Android SDK and AVD Manager on Windows, execute SDK Setup.exe, at the root of the SDK directory. On Mac OS X or Linux, execute the android tool in the <sdk>/tools/ folder.
  2. Under “Installed Packages” click [Update All…]
  3. Read 😉 and accept all end user license agreements
  4. Click [Install]
  5. Switch to the “Virtual Devices” page
  6. Click [New…]
  7. Enter a name (i.e. MyPhone)
  8. Target: Android 1.6 -API Level 4
  9. SD Card Size 96 MiB (or more if you want)
  10. Click [Create AVD]

Install HTC System Image

This step will add the Market app to your AVD.

  1. Go to http://developer.htc.com/adp.html#s3
  2. Download signed-dream_devphone_userdebug-img-14721.zip in the Android 1.6 section
  3. Unzip the file and copy system.img to the AVD folder. To locate the AVD path, select your AVD in Android SDK and AVD Manager and click [Details…]. On Mac OS X or Linux the AVD should be at ~/.android/avd/MyPhone.avd/ where MyPhone is the phone name you chose when you created the AVD.
  4. Select your AVD in Android SDK and AVD Manager and click [Start…]
  5. Use the default settings
  6. On the first boot, the tutorial asks you to slide out the keyboard. Do this using Ctrl-F11 or Ctrl-F12 (see the Keyboard Mappings section below).
  7. If your AVD does not have an internet connection when it boots (sometimes it takes a while) try restarting the emulator.

Keyboard Mappings

<sdk>/tools/emulator -help-keys

HOME Home button
F2, PAGEUP Menu (Soft-Left) button
Shift-F2, PAGEDOWN Star (Soft-Right) button
ESCAPE Back button
F3 Call/Dial button
F4 Hangup/EndCall button
F7 Power button
F5 Search button
KEYPAD_PLUS, Ctrl-F5 Volume up button
KEYPAD_MINUS, Ctrl-F6 Volume down button
Ctrl-KEYPAD_5, Ctrl-F3 Camera button
KEYPAD_7, Ctrl-F11 switch to previous layout
KEYPAD_9, Ctrl-F12 switch to next layout
F8 toggle cell network on/off
F9 toggle code profiling
Alt-ENTER toggle fullscreen mode
F6 toggle trackball mode
DELETE show trackball
KEYPAD_5 DPad center
KEYPAD_4 DPad left
KEYPAD_6 DPad right
KEYPAD_8 DPad up
KEYPAD_2 DPad down
KEYPAD_MULTIPLY increase onion alpha
KEYPAD_DIVIDE decrease onion alpha