Removing ads from the Amazon Kindle Fire lock screen (without root)

Yesterday, I wrote about installing the Google Play Store on my Amazon Kindle Fire HD 8 (5th generation) but one point I made was that the script I used didn’t remove the Amazon lock-screen ads as it suggested it would.

It’s possible to pay £10 extra when you buy your Kindle Fire to have the ads removed from the lock screen… and some people have had success in getting theirs removed by asking Amazon Customer Services nicely. Alternatively, if you have the tech skills, I’ve found a fix, thanks to Vlasp over on the XDADevelopers forums and now my Fire is ad-free (although I have to admit the ads have previously inspired me to make the odd purchase)!

Just as when I installed the Google Play Store, I first had to unhide Developer Options (by tapping 7 times on the device serial number in Settings) and enable ADB (the Android Debug Bridge). After connecting to a PC with a USB cable and accepting the connection, I was able to use ADB to control the settings on the Kindle Fire.

Enable ADB in Developer Options (Debugging)

Allow connections from the PC to the Kindle Fire

HowToGeek has an article about installing ADB but I didn’t do that… I used the copy that came with the script I had previously used to install the Google Play Store (from @RootJunky) – simply by opening up the command prompt and changing directory to the folder that had adb.exe in it…

Then, I ran the commands that Vlasp outlines in his XDADevelopers forum post:

adb shell
pm clear com.amazon.kindle.kso
pm hide com.amazon.kindle.kso
exit
adb reboot

Commands to remove ads from Amazon Fire (via ADB)

And, once the Kindle restarted, there were no more ads*!  Just remember to turn ADB off again on the Kindle.

Amazon Kindle Fire HD 8 lock screen with ads removed

*Sometimes the ads may return – just repeat the process and they will be banished again for a while…

Installing Google Play Store on an Amazon Kindle Fire HD

In preparation for my summer holidays this year, I bought a new tablet to replace my aging (and slow) Tesco Hudl. Again, I didn’t want to spend much money – I’ve suffered at the hands of Apple’s built-in obselescence previously, and the Amazon Kindle Fire HD 8 seemed to fit the bill quite nicely.

The only trouble with a Kindle is it runs FireOS – a fork of Android – rather than a “stock” Android. That means no Google Play store, which means you’re limited to the apps that are in Amazon’s store.  By and large that’s OK – I installed iPlayer, OneDrive, OneNote, Spotify, etc. but there is no YouTube and the browser is Silk, not Chrome.

I tried sideloading packages from unofficial sources, following advice from Arash Soheili (Android Cowboy).  That got me Chrome and YouTube but without the ability to log in to a Google account (so no syncing of shortcuts, no visibility of subscriptions, etc.). It seemed that installing Google Play Store and installing the apps properly needed me to root the Kindle.

Then, last night, I found a HowToGeek article that was a) easy to follow and b) linked to @RootJunky (Tom)’s script that did all the heavy lifting.  Within a few minutes and one reboot I had installed the Google Play store on my Kindle Fire HD; logged in to my Google account; and downloaded Chrome and YouTube – both working perfectly.

RootJunky's Amazon Fire Tablet Tool at work

RootJunky's Amazon Fire Tablet Tool at work

Just one point to note – Amazon must have updated their method of unlocking the device to remove ads from the lock screen as that part of the script didn’t seem to take effect on my device.

Google Play Store, Chrome and YouTube installed on Kindle Fire HD 8

With the last hurdle out of the way, this means I can recommend that my 10 year-old son, who wants to buy a tablet (and is too young for a smartphone), can buy something cheap like a Kindle rather than spending far too much money on a more fully-featured tablet in a dying market:

Android for under-13s: no Google accounts; no family sharing

We’re entering a new phase in the Wilson family as my eldest son starts secondary school next week and my youngest becomes more and more tech-aware.

The nearly-10 year-old just wants a reasonably-priced, reasonably-specced tablet as my original iPad is no longer suiting his needs (stuck back on iOS 5 and with a pretty low spec by today’s standards) – I’m sure we’ll work something out.

A bigger challenge is a phone for the nearly-12 year-old. We’ve said he can have his own smartphone when his birthday comes and effectively there are 3 (well, 2) platforms to consider:

  • Windows Mobile: limited app availability; inexpensive handsets; uncertain future.
  • Apple iOS: expensive hardware; good app support.
  • Google Android: wide availability of apps and hardware; fragmented OS.

Really, Windows isn’t an option (for consumers – different story in the enterprise); Apple is only viable if he has a hand-me-down device (which is a possibility); but he’s been doing his research, and is looking at price/specs for various Android devices.  The current favourite is an Elephone P9000 – which looks like a decent phone for a reasonable price – as long as I can find a reliable UK supplier (i.e. not grey market).

In the meantime, and to see how he gets on before we commit to a device purchase, I’ve given him an old Samsung Galaxy S3 Mini that I had in a drawer and I put a giffgaff SIM in. Because it’s a Google device, he gets the best experience if he uses a Google account… and that’s where the trouble started.

We went to sign-up, added some details, and promptly found that you have to be 13 to open a Google account. And unlike with Apple iCloud Family Sharing, where I have family sharing set up for the old iPhones that the boys use around the house, the Google equivalent (Google Play Family Library) also needs all of the family members to be at least 13.  There simply appears to be no option for younger children to use Google services.

Maybe that’s because Google’s primary business is about selling advertising and advertising to children is questionable from a moral standpoint (though YouTube have come up with a child-friendly product).

I tried signing in as me – which let me download some apps but also meant he had access to my information – like all of my contacts (easily switched off but still undesirable).

Luckily, it seems I created him a GMail account when he was 5 weeks old (prescient, some might say) and I was able to find my way into that and get him going. Sadly, it seems I was not as mentally sharp when his little brother was born…

(As an aside, I originally gave my son a Nokia “feature phone” to use and he looked bemused – he later confessed that was because he didn’t know how to use it!)

Postscript: I’ve since given my youngest son my Tesco Hudl and was able to sign up for a Google account without being asked to provide date of birth details…

Short takes: Windows Phone screenshots and force closing apps; Android static IP

I’m clearing down my browser tabs and dumping some of the the things I found recently that I might need to remember again one day!

Taking a screenshot on Windows Phone

Windows Phone 7 didn’t have a screenshot capability (I had an app that worked on an unlocked phone) but Windows Phone 8 let me take screenshots with Windows+Power. For some reason this changed in Windows Phone 8.1 to Power+Volume Up.  It does tell you when you try to use the old combination but, worth noting…

Some search engines are more helpful than others

Incidentally, searching for this information is a lot more helpful in some search engines than in others…

One might think Microsoft could surface it’s own information a little more clearly in Bing but there are other examples too (Google’s built-in calculator, cinema listings, etc.)

Force-quitting a Windows Phone app

Sometimes, apps just fail. In theory that’s not a problem, but in reality they need to be force-closed.  Again, Windows Phone didn’t used to allow this but recent updates have enabled a force-close. Hold the back button down, and then click the circled X that appears in order to close the problem app.

Enabling a static IP on an Android device

Talking of long key presses… I recently blew up my home infrastructure server (user error with the power…) and, until I sort things out again, all of our devices are configured with static IP configurations. One device where I struggled to do this was my Hudl tablet, running Android. It seems the answer is to select the Wi-Fi connection I want to use, but to long-press it, at which point there are advanced options to modify the connection and configure static IP details.

Removing Tesco customisations from my Hudl

Just over a week ago, I bought a Tesco Hudl. It was an impulse purchase but the reviews were good considering the low price point (Gizmodo, Engadget) and that £119 price tag meant the risk to me as a consumer was low (considering what I paid for an iPad 4 years ago, which admittedly is a premium device but has hardly stood the test of time…).

After a couple of days I knew I’d made the right decision – I’ve been disappointed with Android on my phone but on a tablet it’s really usable (the Hudl uses Android 4.2.2 JellyBean) – and Tesco have provided an almost stock distribution. Even so, there are some “customisations” – a few apps and widgets to try and encourage more Tesco shopping, and a [T] launcher button in the bottom-left corner of the screen.  The apps and widgets are easy enough to move out of sight, but I really wanted to lose the Tesco Launcher [T]…

Rooting the tablet

Step one is to “root” the operating system – i.e. to give myself full access to all of the files and folders on the device.  Paul O’Brien (@paulobrien) has a great post on his MoDaCo forum on rooting the Hudl.

I fired up my Linux netbook (it still has some uses!), downloaded the ROMraid archive for the version of the Hudl software my device was running (JDQ39.20131016.200812) and extracted it but running sudo ./flashroot.hudl.linux.sh returned command not found.

After scratching my head for a few minutes I realised I also needed to chmod 755 flashroot.hudl.linux.sh to make it executable.  I tried the script again but this time the response was cannot execute binary file – it seems that the version of rkflashtool.linux included in the ROM download was for 64-bit Linux and my netbook only has a 32-bit installation.

Plan B

Being a good geek, I have a pile of media waiting to be “sorted out” including some Linux live CDs, so I fired that up on another PC and this time managed to flash the Hudl (I used an Ubuntu 13.10 live CD – CentOS 5.5 refused to play).  If you’re having trouble getting the device into the right state, then check out Matt Foot (aka @glossywhite)’s advice on MoDaCo:

  1. Turn Hudl off.
  2. Connect via USB to PC.
  3. Hold down Volume Up (+), push the reset button for one sec (recessed hole with gold dot in it) and continue holding the Volume Up button.
  4. To check that this has put the Hudl in flashing mode, and to verify that it isn’t merely in charging mode, release Volume Up after around 10 seconds and tap once on the power button; if you see a battery, it has failed, so try again.

I found that the Live CD didn’t want to execute anything from a USB stick or local hard disk in the PC (Windows file systems), so I copied the following files to /home/ubuntu:

flashroot.hudl.linux.sh
rkflashtool-linux
system.backup.img

I also chmodded and to make them executable, then ran sudo ./flashroot.hudl.linux.sh

At this point, I saw lots of lines like:

rkflashtool: info: writing flash memory at offset 0x00000000

(up to 0x00341fe0) and then:

rkflashtool: info: rkflashtool v5.1
rkflashtool: info: Detected RK3188…
rkflashtool: info: interface claimed
rkflashtool: info: rebooting device…

The device then restarted in charging mode, and I powered it up as usual. Paul’s instructions say to install SuperSU from the Google Play Store but it seemed to be installed already; however I did update it.

Removing Tesco customisations

As I mentioned at the top of the post, the Hudl comes with a Tesco Launcher icon in the bottom-left of the screen and is also pre-loaded with a number of apps for Tesco services. Paul O’Brien has posted one method of removing the Tesco Launcher [T] but I decided to use a variation of Mr Akufu’s method, with Paul’s hacked SystemUI.apk file (which can be used with the JDQ39.20131016.200812 firmware):

  1. Extract SystemUI.apk from SystemUI.hudl.zip.
  2. Using your method of choice, transfer the file to your device – I used Dropbox, and then selected the option to Export, then Save to SD card (Internal Storage) but others have suggested Bluetooth, or ADB.
  3. Install Rooted SSH/SFTP Daemon from the Google Play store and start it.
  4. Connect using your SSH client of choice (I used PuTTY) over a Wi-Fi connection to the Hudl.
  5. Login as root, with password abc123
  6. Issue the following commands:
    su
    mount -o remount,rw /system
    cp /system/app/SystemUI.apk SystemUI.mybackup.apk (I didn’t do this but it would have been sensible…)
    cp /storage/emulated/legacy/SystemUI.apk /system/app/SystemUI.apk
  7. After this, the Hudl should reboot.
  8. Following restart, the Tesco button should be gone – use Root Uninstaller to disable (not remove) the Hudl Updates package.

If you want to go further, there’s another MoDaCo post that talks about removing all of the Tesco application packages… and more information on which Android packages are safe to remove at Android Central.

Adventures with Android: a few “tweaks” on my Samsung Galaxy S3 Mini

I’ve been using an Android phone for work for a few months now (a Samsung Galaxy S3 Mini: GT-I8190N) and, on the whole, I’ve been pretty disappointed.  The user interface is clunky (and downright confusing at times) and the battery life terrible – but I’m also more than a little aware that there is a certain amount of OEM- or carrier-supplied software on the device and that a “stock” Android phone might be a little more “polished”.

I started to look into wiping the device and starting afresh but, after consulting with Dan Delaney (@dan_delaney), who knows more about this stuff than I do,  I decided not to bother as it looked as though I’d need to root the device – something I’d be happy to do on my own phone but am not permitted to do on a company device that’s connected to our corporate infrastructure.

Even so, I’ve made a few tweaks over recent months that have slightly improved the experience, and I thought I’d make a note of them here…

First up, battery life.  Three things that have made an enormous difference:

  1. Firstly, I dropped the polling interval for email in the settings for TouchDown (the app used for ActiveSync connectivity to my Exchange email and calendar).  Instead of push email, I poll every 10 minutes, or every hour during off-peak times (I have peak times set as 07:00-19:00 Monday to Friday).
  2. Secondly, I removed the native ActiveSync connection to my Office 365 account as, between them, Exchange Services and TouchDown were drinking a lot of juice.
  3. Finally, I installed the free Battery Doctor app, which not only intelligently charges the device but also watches out for apps that are draining the battery and gives me the ability to disable them.

Another change I made was to install the Android 4.4 Kit Kat Launcher. I may be stuck with Android “Jelly Bean” 4.1.2 but I can at least have some of the latest bits – although I now have such an odd collection of widgets that it looks a complete mess (sorry guys, Microsoft has tiles nailed in Windows/Windows Phone).  The process for installing the Kit Kat parts is described on WonderHowTo and I have Google Play Services, Google Search and the Google Launcher all running happily now.

Still bogged down with Samsung and other bundled software, I decided to follow Jon Spriggs (@jontheniceguy)’s guide to stripping a UK O2 Samsung Galaxy SIII Mini down to the bare essentials.  Jon’s guide is based on a “clean” device and mine has a load of extra apps I’ve installed, plus the customisations I mentioned earlier but I used it to disable some of the built in apps that I don’t use (if you can’t disable them, uninstall updates first, then the disable option should be available).  Unfortunately, I can’t see how to hide the unused apps, now that I have changed the launcher!

My Android adventure continues… but it’s still very tempting to wipe the device and start again!

Short takes: Android screenshots; LinkedIn invitation preferences; and hiding Excel headings

Every now and again, in an attempt to close down some “must blog about that” tabs in my browser, I write one of these “short takes” posts… here’s the latest snippets from the world of Mark…

Screen-grabbing on Android

There have been a couple of occasions recently when I’ve wanted to take a screenshot on my Samsung Galaxy S3 Mini… but couldn’t find how to…

Having to Google to work out how to take a screen shot in Android is… a little odd… but there are a couple of methods mentioned in an Android News post (and six more methods here).  And the reason for the most recent screengrab?  This:

Why does LinkedIn sometimes need an email address before you can send an invitation to connect

I’ve noticed a few times recently that I’ve needed to supply someone’s email address (to prove I know them) when connecting on LinkedIn.  Whilst some Internet reports suggest this is because you’ve been marked as having too many “I don’t know this person” reports, it seemed to be inconsistent for me so that’s not the only reason this happens.  It turns out that there’s an option deep within LinkedIn’s preferences to only receive invitations from members who know your email address.  Now that I know about it, I’ve activated it on my profile too…

Displaying/hiding row and column headings in Excel

I received an Excel workbook recently where all of the row and column headings were missing.  Confused? I certainly was (especially as I wanted to add some columns) but it seems it’s a simple configuration option (just maybe not that commonly used?!), at least in Excel 2013 (your mileage may vary with other versions).

Could low cost tablets actually knock the iPad off its perch?

Last weekend, my family went on a theatre trip to the Pantomime.  After Snow White had been rescued from her slumber by a charming prince, there was a short interlude whilst “Herbert the henchman” invited children with “golden tickets” onto the stage.  Asking one six-year-old what she had received for Christmas, she said “A Hudl“.

The bemused actor had not heard of a Hudl before and she went on to explain “it’s like an iPad, but without the button”.

Aside from amusing me that the Tesco device might actually have a name that could catch on with consumers (cf. the Kindle Fire HD that my kids referred to as “an iPad Kindle”), this got me thinking.  Could the low cost tablets from Tesco, Argos, et al be about to shake the iPad off it’s perch? I was reading a Which report over Christmas which lauded the iPad Mini as a great small form factor tablet but it’s expensive. Meanwhile even my Mum has bought a £100 Acer tablet (I wish she’d spoken to me first but, never mind).

My father-in-law was amazed that six-year-olds would be given a tablet but I highlighted that, at £120 (or as low as £60 with Clubcard vouchers) it was a consumable device – and that’s the beauty. It doesn’t have to be great, just good enough and cheap.  After all, my very expensive 64GB 3G first generation iPad was thrown on the scrap-heap by Apple with a lack of OS updates etc. after about 2 years.  Why spend £700 when I can spend far less and upgrade more frequently? The Google Nexus may be technically superior but buying a £120 tablet is very low risk.

Let me be clear: Apple has some great premium products – but with mass market acceptance of Android they have a problem. Whilst some of my friends have purchased iPad Minis for the family (one Christmas day Facebook update read “Operation iPad Mini declared a success – never seen the children so quiet”), how many more will go for the low cost option from the supermarket?

Migrating contacts from iOS to Android

Last month I blogged about migrating SMS messages from an iPhone to an Android handset. I ignored my contacts because I figured that Active Sync would do that for me – and it does, except that my Galaxy S3 Mini is subject to mobile device management policies and we use the TouchDown client for ActiveSync access to Exchange so that’s where the contacts end up.  Whilst TouchDown can export contacts to the phone book on the device, I only found that after I’d migrated them a different way, so I thought I’d write a quick post about the options.

Many Android users will be GMail users.  If you fall into that camp then it’s pretty easy – sync to Google Contacts via iTunes.  An alternative (regardless of whether you use GMail) is to export the contacts from iCloud as a vCard (.VCF file).  This can be imported to various places – including GMail – or, as I did, directly on my Android handset.  The hongkiat.com post on transferring iPhone contacts to Android uses a Google account to sync the contacts onto the device. I elected to use Dropbox to get the .VCF file into the local storage on my phone, then imported the contacts from there, using the Import/Export option in the Options menu in my contact list.

Migrating SMS messages from iOS to Android

The iPhone 3GS that I use for work is now getting a little long in the tooth, no longer eligible for updates (read security risk) and the battery often runs out before the end of the day.  I still have a 4S that I use (with iOS 7) in my personal life but the company iPhone was replaced today with an Android handset (Samsung Galaxy S3 Mini).  This is my first Android phone – and will be an interesting experience because I want to see how this Google platform gets on with Microsoft Exchange (my previous experience with ActiveSync has been with iOS and Windows Phone 7).

Initial impressions are mixed and it may take me some time to get used to Android (or maybe it’s the O2/Samsung customisations) but I do have one observation: Google Play seems much faster than iTunes for app downloads…

The first apps installed on my phone were iSMS2droid, Dropbox and Spotify. Two of those apps seem pretty obvious, but “what’s iSMS2droid?”, you might ask.  It’s a handy app for importing SMS messages extracted from an iPhone backup to Android format.

The mechanics of transferring SMS messages from iPhone to Android are described in a hongkiat.com blog post but, in short, the steps are:

  1. Backup the iPhone in iTunes
  2. Locate the backup file in %appdata%/Apple Computer/Mobile Sync/Backup/ on Windows or ~/Library/Application Support/MobileSync/Backup/ on a Mac
  3. Open the folder with the most recent timestamp (one per synced device, I think)
  4. Search for the file called 3d0d7e5fb2ce288813306e4d4636395e047a3d28 and copy it to your Android phone (I did this via Dropbox)
  5. Open iSMS2droid and tap “Select iPhone SMS Database”, then point the app at the file you transferred from the iPhone backup. This will allow the message database to be converted and will save a file called iSMS2droid.xml (on my phone, it was in /storage/sdcard0/SMSBackupRestore).
  6. At this stage you’ll need another app, called SMS Backup & Restore, which can read the iSMS2droid.xml file (on my phone, it was in /storage/sdcard0/SMSBackupRestore) and import the messages.  All but one of my SMS messages were then restored and availble in the Android app.

Unfortunately, I did have a couple of issues to resolve along the way.

With SMS messages transferred, next step is contacts.  I can see these in Outlook, so pretty sure ActiveSync is handling them for me… let’s see what happens when I connect the ‘droid to the company servers…