Merry Christmas everyone!


Android Revolution HD Team would like to wish you all Merry Christmas and a happy New Year 2014.
May love and happiness be a part of your everyday life. 
Forget about the problems and enjoy the moment. Smile, laugh and share the love.

Of course, we also wish you quick Android updates and a lot of flashing.

Android Revolution HD

How to: Use "adb sideload" on your Android device


Probably every Android power-user at least once in his life used ADB - Android Debug Bridge. It is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device. Using ADB shell commands gives you additional control over your device and sometimes it can save your device from being bricked (example: How to: copy ROM zip file to the freshly wiped device). You can find some more basic information about ADB here.

Since Android Jelly Bean there has been a new ADB mode available in the AOSP recovery, incorporated by the Android developer community into custom recoveries too. It is called "ADB sideload" and most of you probably have heard about it already. This is an alternate method to the one I wrote about here - How to: copy ROM zip file to the freshly wiped device. The main difference is that ADB sideload works only with recoveries based on Jelly Bean source or newer. I believe that ADB sideload was created to simplify the process of flashing/restoring Android update.zip packages.

Keep in mind that while using ADB sideload, the regular ADB shell won't work. To be able to use SIDELOAD mode make sure you're running latest ADB drivers from the Android SDK (Platform-tools). Here are the simple steps you need to follow to flash update.zip package using adb sideload mode (based on stock Android recovery):
  1. Place the ZIP package you want to install in the same location where you keep ADB drivers - adb.exe, AdbWinApi.dll and AdbWinUsbApi.dll (usually it's SDK\platform-tools)
  2. Make sure you have USB debugging enabled in Settings > Development on your device
  3. Make sure your phone drivers are installed on the PC you're going to use
  4. Boot your device in recovery mode (Android logo with a exclamation mark) and connect your device to PC
  5. Hold down "power" button first, followed quickly by "volume up" button. You should now see the recovery menu
  6. Use the volume up/down keys to select "apply update from ADB," then press power to select it
  7. Open a command prompt on the PC (cmd.exe), type and confirm with ENTER:
  8. cd /d <adb.exe location> (for example: cd /d c:\SDK\platform-tools) or you can open your SDK/platform-tools folder, then press SHIFT button and the right-click mouse button and choose “Open command prompt here
  9. adb sideload <filename>.zip (for example: adb sideload update.zip)
  10. The zip package will begin installing. When it's done, select "reboot system now."
How is that different from the alternative method? You don't have to manually create the proper folders structure, push the file and later install if from inside the recovery menu. The result is basically the same, because ADB sideload is also transferring the zip file into the device internal memory and later it automatically begins the installation procedure. However, it works only with recoveries based on Android Jelly Bean source.

Have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!

How to: Manually install an OTA update on your HTC device

Sometimes it turns out that your device for some reason can't find the most recent OTA (Over The Air) update. However, there is a solution to apply OTA update manually, without being forced to wait for the update being downloaded and installed by your device.

Facts you need to know before continuing:
  1. This method has nothing to do with the "adb sideload" feature available on Android devices since Jelly Bean. It should work on every Android HTC device.
  2. Read about different software versions for the HTC devices here. Keep in mind that the OTA update must match the software version on your device. Each original OTA update.zip package has 2 different software versions in its name - the version of the software that must be currently installed on your device and the version of the software that your device will run after the update. For example:
OTA_M7_UL_JB43_SENSE55_MR_HTC_Europe_3.62.401.1-2.24.401.8_release_338160gxmo5sd9337kadux.zip

As you can see, 2.24.401.8 is the software version you must currently have installed to be able to run the OTA and 3.62.401.1 is the version of the software expected after the update. You can't flash an OTA update on a different software version to that expected by the OTA update for two main reasons:
  1. Formal reason - the OTA update.zip package checks if your system is running the expected software version before it starts to install the update:
    assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "htc/htc_europe/m7:4.2.2/JDQ39/235216.8:user/release-keys");
    This must match the following build fingerprint from the build.prop. If the versions don't match, the installation of the OTA package will be cancelled.
    ro.build.fingerprint=htc/htc_europe/m7:4.2.2/JDQ39/235216.8:user/release-keys
  2. Technical reason - OTA update.zip packages usually contain patches for the target files. This way OTA update doesn't have to be 1GB size, even if it is supposed to update the whole OS to the newer version. Patch files have an *.apk.p extension (f.g. Camera.apk.p) and each patch file must match the target file (f.g. Camera.apk). To make it possible, OTA update.zip package checks the MD5 checksum of each file on the system partition on your device:
    assert(apply_patch_check("/system/app/Camera.apk",
    "b3b79e40bad0b1bec5fb949ac5f8662f91bee714",
    "5a5bf63e3d7c9de52a7d8d7a292e158263783844"));
    And finally, if the MD5 is correct it applies the patch. All these commands are stored in META-INF\com\google\android\updater-script of each OTA update.zip package. If the MD5 is incorrect, or at least one file is missing, the installation of the OTA package will be cancelled.
    assert(apply_patch("/system/app/Camera.apk", "-",
    b3b79e40bad0b1bec5fb949ac5f8662f91bee714, 4229394, 
    5a5bf63e3d7c9de52a7d8d7a292e158263783844,
    package_extract_file("patch/system/app/Camera.apk.p")));

Now you are ready to manually apply the OTA update on your device. The methods you'll use is based on Android stock recovery.

Method 1 (for users with root access)
  1. Make sure you have the stock (original) recovery on your device
  2. Make sure you're running a completely unmodified operating system. Additional files like Superuser.apk or su binary are allowed, you just can't have any system files changed or removed (due to the MD5 check)
  3. Make sure you have a reasonable amount of battery charge remaining
  4. Make sure the OTA update you're about to install matches the software version on your device
  5. Copy the OTA update.zip package to the internal storage /data/media/0/update.zip
  6. Open adb shell or use Android Terminal Emulator and type: echo "--update_package=/data/media/0/update.zip" > /cache/recovery/command
  7. Turn OFF the device (make sure fastboot mode is disabled in settings)
  8. Hold your volume down and power keys until the bootloader starts up
  9. Using the volume keys, navigate down to RECOVERY and press power
  10. The OTA update installation process should now start automatically
  11. Once system is booted you should see a confirmation about the successfully flashed update.
Method 2 (for users without root access) | This method won't work on the S-ON HTC One M8
  1. Make sure you have the stock (original) recovery on your device
  2. Make sure you're running a completely unmodified operating system. Additional files like Superuser.apk or su binary are allowed, you just can't have any system files changed or removed (due to the MD5 check)
  3. Make sure you have a reasonable amount of battery charge remaining
  4. Make sure the OTA update you're about to install matches the software version on your device
  5. Copy the OTA update.zip package to your device (internal storage preferred)
  6. Turn OFF the device (make sure fastboot mode is disabled in settings)
  7. Hold your volume down and power keys until the bootloader starts up
  8. Using the volume keys, navigate down to RECOVERY and press power
  9. You are now in stock recovery mode. You should see nothing more than a (sometimes spinning) Android with the red exclamation mark above it (an empty black screen is also possible). Wait for a few seconds
  10. First hold volume up, then (with volume up held down) press power button to enter the main recovery menu. This keys combination may vary from device to device. Try different keys combination if the above one doesn't work (might be all three keys all together too)
  11. Navigate down to "apply from phone storage" text and press power to confirm
  12. Navigate to the location where you copied the OTA update.zip package and press power to confirm
  13. Wait (sometimes you might need to follow further instructions on the screen) until the update process is finished
  14. Once system is booted you should see a confirmation about the successfully flashed update.
Have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!


For latest news follow Android Revolution HD on popular social platforms:

HTC ROM Update Utility (RUU) variants explanation

Owners of HTC devices might be a little confused when it comes to understanding the current method of numbering used by HTC to mark their software updates. Here you can find a short explanation of this matter.

First of all, we all know that HTC sells their devices all over the world. Every carrier and region of the world has some more or less different "local settings". By "local settings" I mean things like: emergency call numbers, languages, time-zone settings, network settings, carriers branding, GPS settings and more. Because of that each software for even the same device must be different.

Secondly, even the same device might use different hardware related to the region of the world. For example, HTC One is available in at least 6 different hardware configurations. One of the main difference is modem version. GSM version of the HTC One uses MDM8215 chip and LTE variant has MDM9215. Verizon (US) is known to have MDM9615. So that's already 3 different versions of the same device.

Every HTC update has the following numbering structure:

a.bb.ccc.d

a - the first number of the software. Normally it doesn't increase very often, but when it does, it usually means newer Android version.
bb - this number is also a software number. Increasing bb number means some more or less major update based on the same Android version, but sometimes it might even bring newer version of the HTC Sense.
ccc (also cc or cccc) - this is the number of the region/carrier. It has nothing to do with the software itself being newer or older. More details below.
d (sometimes dd) - the third part of the software version (the fourth one in the RUU name). Usually indicates some minor update with some hot fixes.


Example: 3.20.401.3

So basically, when you are interested in the software version, you should look at a.bb.d (3.20.ccc.3) because ccc (401) means only the region/carrier variant of the software.

Here is the list I was able to gather of possible RUU variants:

a.bb.61.d - Orange UK (United Kingdom)
a.bb.65.d - Orange CH (Switzerland)
a.bb.69.d - Orange PL (Poland)
a.bb.73.d - Orange FR (France)
a.bb.75.d - Orange ES (Spain)
a.bb.110.d - T-Mobile UK (United Kingdom)
a.bb.111.d - T-Mobile DE (Germany)
a.bb.112.d - T-Mobile AT (Austria)
a.bb.113.d - T-Mobile CZ (Czech Republic)
a.bb.118.d - T-Mobile PL (Poland)
a.bb.161.d - Vodafone UK (United Kingdom)
a.bb.163.d - Vodafone FR (France)
a.bb.165.d - Vodafone IT (Italy)
a.bb.166.d - Vodafone CH-DE (Switzerland - Germany)
a.bb.168.d - Vodafone GR (Greece)
a.bb.169.d - Vodafone AT (Austria)
a.bb.206.d - O2 UK (United Kingdom)
a.bb.207.d - O2 DE (Germany)
a.bb.401.d - World Wide English (WWE)
a.bb.415.d - Arabic (UAE/Middle East)
a.bb.468.d - Turkey
a.bb.497.d - Morocco
a.bb.498.d - WWE Brightpoint US (United States)
a.bb.502.d - Cingular US (United States)
a.bb.531.d - T-Mobile US (United States)
a.bb.631.d - Rogers Canada (WWE)
a.bb.651.d - Sprint US (United States)
a.bb.661.d - Telus WWE (Canada)
a.bb.666.d - Bell Canada
a.bb.707.d - Asia (WWE)
a.bb.708.d - Asia HK (Hong Kong)
a.bb.709.d - Asia TW (Taiwan)
a.bb.720.d - Asia (India)
a.bb.728.d - Virgin AU (Australia)
a.bb.751.d - Chunghwa Telecom (Taiwan)
a.bb.771.d - Hutchison 3G UK (United Kingdom)
a.bb.777.d - ?
a.bb.841.d - Telsra WWE (World Wide English)
a.bb.862.d - Voda-Hutch AU (Australia)
a.bb.901.d - TIM IT (Italy)
a.bb.911.d - SK Telecom (South Korea)
a.bb.980.d - Optus AU (Australia)
a.bb.999.d - HTC Test RUU
a.bb.1400.d - China
a.bb.1401.d - ?
a.bb.1403.d - HTC China CMCC (China Mobile Communications Corporation)
a.bb.1540.d - HTC One U.S. Developer Edition
a.bb.1600.d - ?
a.bb.1700.d - HTC One Google Edition

The list is quite long, and I'm sure there are still some some missing. If you know more variants, please let me know in the comments section.

The 401 and the 707 devices are usually the first ones that HTC prepare updates for. Carrier branded software is usually months after the WWE updates.

Finally, keep in mind that each software version is connected with the CID (Carrier ID) and MID (Model ID) of your device. That means you can't use whichever version you want, unless you have S-OFF on your device. Each ROM Update Utility.exe package will check your device details (bootloader version, MID and CID) before starting the update process.

Have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!

How to: Copy ROM zip file to the freshly wiped device


Have you ever been in a situation where you mistakenly (or not) wiped the content of the internal storage (including system partition and virtual SD cardon your phone or tablet and unfortunately it doesn't support external storage? Now you can't flash desired custom ROM because you removed it and the device can't be booted due to wiped system partition. Don't worry - it's very easy to fix!

Here are the steps you need to follow to copy the correct rom.zip package to your internal storage:
  1. Download this mini-sdk package and extract it to c:\mini-sdk
  2. Rename the custom ROM package you want to flash to "rom.zip" and copy it to c:\mini-sdk
  3. Connect your device to the PC
  4. Boot your device in recovery mode
  5. Open a command prompt on the PC (cmd.exe), type and confirm each command with ENTER:
  6. cd /d c:\mini-sdk
  7. adb shell
  8. mount /data (error might mean that /data partition is already mounted)
  9. on Android 4.2 and above: mkdir -p /data/media/0
  10. on Android 4.1.2 and below: mkdir -p /data/media
  11. exit
  12. on Android 4.2 and above: adb push rom.zip /data/media/0
  13. on Android 4.1.2 and below: adb push rom.zip /data/media
  14. Wait for a few minutes until the file is copied. It will looks like command shell is not responding, but that means it's still copying. Wait patiently until you'll see blinking cursor again.
  15. Depends on your custom recovery, use the navigation keys to flash the custom rom.zip package in a typical way you used to flash custom ROMs. It should be on your internal storage now. Done!
Have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!

EHNDROIX IV 13.12.2 - i9001




EHNDROIX IV is an aftermarket firmware based on CyanogenMod 10.2,created by Nitrox-developers. Edited and customized to the smallest details, is designed to provide users with an Jelly Bean user-friendly experience and is available for a wide range of terminals !



The ROM has been optimized to ensure maximum fluidity and at the same time good battery life and, thanks to Nitrox S, you will have the opportunity to stay up to date on the latest news and download launchers, themes "exclusive" mod and much more ! 


Features

  • Based on CyanogenMod 10.2
  • Android 4.3.1 with FluidUI 3.0
  • Update the ROM directly from your device with integrated OTA Updater
  • Official bootanimation
  • Use Ehndrogapps, refined gapps and in Classic or Inverted style
  • Apex Launcher
  • FM Radio Included
  • Flash Player Support
  • No more ads in the apps
  • Send messages with exclusive EhndroiX app with a very attractive look fully customizable and new features
  • Exceptional audio quality and volume thanks to Sony xLoud and ClearAudio
  • Striking Images Quality thanks to Sony Bravia Engine 2 and a better density
  • Fantastic Official EhndroiX Wallpapers
  • Perfect working GPS in all countries due to the automatic fix satellites
  • ROM in constant development (keep up to date thanks to date version)
  • Keep safe your data with Titanium Backup installed by default
  • ... and much more!


Guide to proper installation

Coming from a previous EHNDROIX IV:
  • Download ROM
  • Download EhndroGapps
  • Wipe Cache
  • Wipe Dalvik / Cache
  • Flash EhndroiX IV
  • Flash EhndroGapps
  • Restart

    Coming from EHNDROIX III or EHNDROIX /EHNDROIX II/CM7/CM9/CM10/AOKP/MIUI:
    • Download ROM
    • Download EhndroGapps
    • Wipe Data
    • Wipe Dalvik Cache
    • Flash EhndroiX IV
    • Flash EhndroGapps
    • Restart



    Changelog


    13.12.2
    • Updated base to CyanogenMod 10.2 RC1 by ADC Team
    • Updated kernel in K^Kernel 2.6 ( Linux Base 3.4.70  )
    • ROM rebuilt from scratch
    • System Improvement
    • Better Fluidity
    • Better Battery Drain
    • Better Data Connection
    • Fixed Keyboard Swipe problem
    • Updated Default Apps
    • New Classic Ehndrogapps rebuilt from scratch
    • Sync to lastest CyanogenMod sources
    • And other news that I don't remember


    13.11.5
    • Updated kernel in K^Kernel 2.5 ( Linux Base 3.4.67  )
    • Send message using Hangouts as in Android 4.4 KitKat
    • Clock app based on the Android 4.4 KitKat's one
    • Email app based on the Android 4.4 KitKat's one
    • System Improvement
    • Better Fluidity
    • Better Battery Drain
    • Better Data Connection
    • Updated Default Apps
    • Updated Classic Ehndrogapps
    • Sync to lastest CyanogenMod sources
    • And other news that I don't remember


    13.10.23
    • Updated to Android Jelly Bean 4.3.1
    • Updated base to CyanogenMod 10.2 Alpha 3 by ADC Team
    • Updated kernel in K^Kernel 2.4 ( Linux Base 3.4.64  )
    • Now 370 MB of RAM available
    • System Improvement
    • Better Fluidity
    • Better Battery Drain
    • Better Data Connection
    • Updated Default Apps
    • Updated UI
    • Sync to lastest CyanogenMod sources
    • And other news that I don't remember


    13.10.11
    • Updated kernel in K^Kernel 2.3 ( Linux Base 3.4.65 )
    • Samsung Galaxy S IV Style flashable pack available
    • System Improvement
    • Better Fluidity
    • Better Battery Drain
    • Better Data Connection
    • Updated Default Apps
    • Updated UI
    • Sync to lastest CyanogenMod sources
    • And other news that I don't remember


    13.10.7
    • System Improvement
    • Better Fluidity
    • Better Battery Drain
    • Better Data Connection
    • Updated Default Apps
    • Updated Classic Ehndrogapps
    • Updated UI ( icon and wallpapers )
    • Sync to lastest CyanogenMod sources
    • And a lot of other news !!!


    13.9.20
    • Updated base to CyanogenMod 10.2 Alpha 2 by ADC Team
    • Updated kernel in K^Kernel 2.2
    • System Improvement
    • Better Fluidity
    • Better Battery Drain
    • Better Data Connection
    • Updated Default Apps
    • Updated UI ( icon and wallpapers )
    • Sync to lastest CyanogenMod sources
    • And a lot of other news !!!

      ___________________________________

      Download: Last ROM Release

      Download: Ehndrogapps 4.3.1
      Download: S IV Style Universal Pack
      Download: NitroX-developers Bootanimations Pack


      (This ROM is certified Nitrox-developers but the staff does not assume any responsibility for any damage to your device)

      HTC One with KitKat and HTC Sense 5.5 is finally out!


      Android 4.4 KitKat with HTC Sense 5.5 is now available for the HTC One. This is a must-have update for all HTC One owners.

      Sounds great? Well, you might not be happy after all. So far the update is available only for the owners of the Developer Edition of the HTC One. But there is a good news too - you can have KitKat update on your "regular" HTC One too, without waiting for the official update (which might take few more weeks).

      To make it possible, Android Revolution HD has been updated to 40.x series, based on the official Android 4.4 KitKat & HTC Sense 5.5 update (4.06.1540.2). 

      Why KitKat update is that important? It has several very important changes:
      1. Vastly improved security
      2. Smarter "Location" settings
      3. Better performance
      4. Improved battery consumption
      5. Faster multitasking
      6. Better Google Hangouts integration
      7. ...and much more!
      Here are some screenshots. You can see the new Location settings panel.


      Users feedback so far leaves no doubts - this update brings significant performance improvements. Some users are even reporting, that Android 4.4 with HTC Sense 5.5 gives better performance experience than pure KitKat update for the HTC One Google Edition which we wrote about here. I think this is enough said. Don't stay on your old 4.3 OS and grab newest 4.4 update as soon as possible!

      Link to the original XDA-developer thread
      Link to the download page

      Have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!