Installing Android Jelly Beans on HTC Desire Bravo

Update: Please read Installing Android KitKat on HTC Desire on how to setup the new Android KitKat version on your HTC Desire.

Due to the memory limitations and the dusty stock Android version (2.2.something) I’ve decided to upgrade my HTC Desire (Bravo) to Android Jelly Beans (JB) (4.1.2). After numerous attempts to install various custom ROMS (e.g. ICS ROM by Sandvold) I’ve finally found a working JB ROM for the HTC Bravo: Jelly Bean 4.1.2 – v3.0 by vijendrahs, which exists in various versions.

Versions Tested

The following ROMs have been tested to work with this guide:

This steps descibed in this post apply to almost any ROM available, although certain configuration options might differ.

The Guide to Installing Android Jelly Beans

This post describes the steps I’ve taken in order to get a working configuration based on this JB ROM that currently (version 3.0) offers the following features:

  1. Data
  2. WiFi
  3. Bluetooth
  4. Rotation
  5. Mic
  6. Sound
  7. USB Mass Storage
  8. GPS
  9. A2SD Script
  10. Trackball wake
  11. HWA
  12. Camera
  13. Sensors
  14. Themes

Improved in 3.1: 3G connection seems to be working much more stable now. Fixed in 3.0: In version 2.8 the camera does not work as expected (flickering). A workaround is to start the camera close it and restart it again. Also, (very rarely) the 3G connection drops but switching to airplane mode and back restores it again.

UPGRADE: In case you are upgrading from a previous version please have a look at the Upgrade Android section.

Otherwise, let’s install JellyBeans on your HTC Desire!

Backup Everything!

If you happen to have any data on your phone that you might want to keep (contacts, SMS, SD card content) now is the last chance to backup your data! There exist numerous tools helping you with that, such as SMS Backup & Restore, Titanium Backup β˜… root, etc. Please have a look at the Upgrade Device section below for backup and restore. Once again – In the next steps you will erase any data on your phone. I’ve warned you πŸ™‚

Rooting the device

First and foremost you need to root your device to gain full control in order to install custom ROMs. Be aware of the fact that you most certainly void the warranty. Furthermore you might ruin your device doing so. All that said go to and follow their guide on how to root your HTC Desire. The process is pretty straight forward so you should not run into problems. If you do please check their FAQ.

Preparing SD card

Next, you will need to do some preliminary device configurations. First, in order to overcome the Desire’s internal memory limitations (512 MB internal memory) we will setup JB to use a SD card as its primary app and cache storage. This way you will be able to install far more apps then you could when only using the internal memory. Hereby, the heavy lifting is done by a2sd, which we will he using later on when actualy installing JB. So, start your (rooted) phone and boot into recovery. You can do this by pressing and holding the power and volume down button when starting the phone (as you did when rooting the phone). You will see the recovery console window as shown below: htc_desire_cwm_rec_1 There navigate to Advanced and select Partition SD card: htc_desire_cwm_rec_2 If you happen to have a 4GB SD card (like me) choose a 2096MB Ext partition (ext3, which will be the default used by a2sd) and a 64MB Swap partition. htc_desire_cwm_rec_3

NOTE: Do the partitioning a couple of times to ensure everything has been written correctly. Then restart your phone into recovery mode again and wipe data and cache (do this a couple of times too).

Copying ROM to SD card

Take out the SD card (i.e. put it in a device such as your tablet to be able to access the partitioned and wiped SD card) and copy the JB ROM onto it, e.g., together with Google Apps (latter can be done afterwards too, additionally version 3.1 and later already include Google Apps in the ROM). Please check the developer’s page for the latest ROM version.

NOTE: The title on the developer’s homepage accidently links to a different ROM than the one described here. Thus, do not download the ROM linked by the title “The fastest/stable CM10 VJ Jelly Bean 4.1.2 vX.X”, but rather scroll down on the page and download the correct version there.

Finally, put the SD card back in and restart the phone another time into recovery mode.

Installing JellyBeans

Now it’s time to actually install the custom ROM you’ve copied to your SD card. In recovery mode select “Install zip from sd card” and select the ROM (e.g. and confirm it to start the installation process. Although you can customize the setup it’s best to just go with the default settings available, i.e. be sure to leave a2sd which we will be using later again. CM will first check the installation ROM zip file for validity, format your system (SD card) and finally start the installation process. Once the installation has finished be sure to restart the phone again by simply selecting “reboot system now” from CM’s homescreen in the recovery mode. Do not boot into recovery this time – let the phone boot normally.

NOTE: Do not panic if you only see the HTC or the spinning CyanogenMod logo for a couple of minutes – this is normal behavior since various installation steps are being processed in the background. If you happen to get stuck on the logo screen first try to reboot your device. If you still can’t continue with the final setup try re-partitioning your SD card again an start over. I’ve experienced this behavior on some devices but after doing these steps a couple of times everything worked out perfectly. Also, make sure to check the data integrity of the ROM ZIP you’ve downloaded as this might cause odd behavior too. Also please have a look at the Google Apps section below for solutions when experiencing the spinning logo problem.

Setting up a2sd

You now should see your fresh JB install for the first time. If not, e.g. the phone does not boot or you get stuck at the Cyanogen Mod loading screen forever make sure to restart the installation process by wiping the data/cache and partitioning the SD card again. I’ve experienced this behavior on a SD card that was not partitioned correctly (not fully aligned). Repartioning the SD card solved this problem. Either way, hopefully you now see in the JB homescreen. There open the Terminal Emulatur and activate a2sd by entering the following commands:

a2sd install

First you will be asked if Terminal Emulator is granted root access – allow it and check remember. Second, a2sd will ask you three questions. Answer them with YES, NO and YES.

NOTE: Selecting three times YES has caused several of my installations to not function correctly, e.g. not being able to update existing apps with the error “Insufficient space”.

If you selected YES for the last question your phone should be restarting now. Let it sit for a while as a2sd will now copy existing apps and cache to your SD card, thus freeing your phone’s internal memory. Once this is done have have a working JB installation with the power of a2sd. Congratulations! πŸ™‚ Also note that you can issue the commands listed above at any time afterwards too, e.g. after you have restored applications using Titanium Backup β˜… root. Thus, sometimes you might need to force a2sd to move applications to your SD card. Simply use this command and you are good to go. Everything after this point is optional. Nevertheless, please have a look at the Final Notes section at the end of this post.

Installing Google Apps

Installing Google Apps is only required for versions prior to 3.0. So, if you happen to use a version prior to 3.0 now would be the time to do so. Download the corresponding ZIP file and copy it to your SD card. Boot into recovery again and select “Install zip from sd card” and select the ZIP file. The installer will guide you through the setup process. After a restart you will have all Google Apps installed on your phone.

NOTE: In case you are experiencing the spinning logo problem when rebooting your device after the installation make sure to not enter your Google account details in the installation wizard. If you are unable to overcome the spinning logo problem repeat the installation procedure and make to not setup your Google account when running the setup wizard for the first time.

Customizing JellyBeans

I’ve experienced that the default CPU governor (OnDemand) drains the battery rather quickly. Thus, be sure to set smartAssV2 as your default CPU governor and select to restore this setting on boot. But be aware of the fact that smartassV2 is not available for version 3.1 and above. In this case just stick with the default CPU governor. That’s everything needed to setup JB on a HTC Desire (Bravo)!

Upgrading Android

At some point you might want to upgrade your Android installation (ROM) to a newer version that probably includes bugfixed and/or improvements. Please note that upgrading your existing installation means that you will loose your current settings since it’s best to wipe your SD card and install the new ROM according to the steps previously described. Thus, you will definitely want to backup your exisiting settings, data and applications in order to restore them after the upgrade process completed. Here are the steps required to backup and restore your settings for an upgrade.

Titanium Backup β˜… root

One of the most prominent backup tools for Android is Titanium Backup β˜… root. So, first of all install Titanium Backup β˜… root. When started for the first time make sure to allow Superuser rights and to check to Remember this setting. Moreover, a System configuration Warning will pop-up telling you that you won’t be able to restore applications due to access restrictions. To fix this go to your devices Settings -> Security -> check Unknown Sources (Allow installation of apps from unknown sources). OK the warning. Please note that in order for this setting to work you have to restart you device. Also, once the entire upgrade and restore process has been completed be sure to uncheck this option again as it poses a security hazard. After a restart open Titanium Backup again and select Backup/Restore from the menu. There you will see a list of your currently installed applications and additional Android related options. Select those apps that you want to backup. Each application selected will be backed up to your SD card in a folder named TitaniumBackup (i.e. /sdcard/TitaniumBackup). Note that applications must be closed in order to be backed up. Fortunately, Titanium Backup will force-close them for you if needed. Also, make sure to select the following options:

  • Accounts (Google accounts, etc.)
  • User Dictionary (Your custom dictionary)
  • Wi-Fi Access Points
  • Settings
  • Settings Storage 4.1.2-eng
  • Phone/Messaging Storage
  • Phone Storage
  • Messaging
  • Media Storage
  • Browser (Bookmarks)
  • Contacts Storage (if not synced with Google or some other service)
  • Calendar Storage (if not synced with Google or some other service)
  • Country, Language, Time zone

Optional settings include:

  • Downloads
  • Application Widgets
  • Bluetooth Pairings
  • Data usage
  • Downloads
  • Key Chain

Depending on the option selected from the list you can either select to backup data, the application itself and both. I recommend to select app+data to make sure you have backed up everything required after a restore. Also note that you might have to restart your device for some Android related settings. Please do so otherwise the restore process will not complete.

Final Notes

It seems like that for some applications a2sd fails to move the application data to the SD card correctly causing it to reside in the internal memory. If this is the case simply move it to the SD card by issuing as2d install in your terminal, as described in the section Setting up a2sd. In case after some time you experience a slower system wipe the cache from withing the recovery console. This should also speed up the boot process, e.g. the spinning CM logo. For a smoother experience you can optimize the wallpaper rendering process by doing the following:

  1. Go to Settings
  2. Launcher
  3. Homescreen
  4. Un-check “Scroll wallpaper”
  5. Check “Wallpaper quick render”

For wired tethering (USB tethering) to work you need to install android-wired-tether. For WiFi tethering to work please have a look at this comment in the comments section below. That’s it, enjoy your new Android version πŸ™‚

240 thoughts on “Installing Android Jelly Beans on HTC Desire Bravo”

  1. Hi,
    I have installed this rom and it works really well. I am not a pro or a tech person. whenever i power off my phone/change battery and then i try to switch on it just refuses to switch on. Or on few instance when i restart the phone it show low internal memory. Can you help

    1. Hi Zakir,
      when you mean it refuses to switch on do you mean that the screen does not light up at all or that it shows you the HTC logo/Cyanogenmod logo forever? The problem with the low internal memory warning suggests that you are not using a2sd in conjunction with a SD card (which frees up the phone’s internal memory because almost everything is installed/moved to the SD card) or you have not configured it correctly. You need to make sure to configure a2sd correctly, please see the a2sd install section in the post. Hope that helps. Cheers

  2. Thank you very much!
    Just installed v3.0 (this release also fixes the camera flickering) on my girlfriends phone. Works like a charm! πŸ™‚

  3. Claudio Peredo

    Thank you, Matthias. I followed your guide and it all worked as the tin said.

    Thank you very-very much.

  4. whenever i go into recovery my phone displays the htc logo and then show a red triangle and the phone if i use usb it just boots up as normally.

  5. Nikki MacLeod

    Hi, Does sd card need backing up before repartitioning? Does this v of JB use Desire Hard buttons and does FM Radio work. Thanks. Nikki.

    1. Hi Nikki,
      yes please backup your data prior to repartitioning your SD card. Yes, hw buttons are working as expected. I haven’t tested the FM radio so far but I can give you feedback later. Cheers

  6. Thanx. Successfully took my life in my hands and rooted phone, partioned sd card and installed CM10-JB. All without a hitch because of your fabulously clear instructons for non-geeks. Spirit FM Light seems to work well too. Nikki.

  7. Hello Matthias,
    I tried the rom on my desire and it works fine (except for the known video cam issue).
    Nice job πŸ˜€
    In your description you talked about setting the CPU governor to smartAssV2. However I see only interactive, ondemand and performance as option.
    Can you please tell me how do I install the smartAssV2 option.

    1. Hi Martin,
      when opening the processor settings via the performance settings you should have the following CPU governor options: smartassV2, interactive, conservative, userspace, powersave, ondemand and performance. Please check if only the smartassV2 option is missing. Which ROM version have you used? Thanks for the feedback. Cheers

  8. Hi Matthias,
    Thanks for you answer.
    I followed the link on top of this page Jelly Bean 4.1.2 – v3.0 by vijendrahs.
    And I downloaded

    There was no smartassV2 πŸ™
    So I looked for other roms and found
    This one is working with 1GB internal memory and smartassV2. The camera video and tethering is not working. But the rest is good enough for me πŸ˜€
    I look forward to the day I can install fixes for these problems πŸ™‚

  9. Hey Matthias,

    installed this ROM
    Took a wee while, but everything came together without any problem. Phone now performs to a much higher standard. No smartassV2 though.

  10. Hi Matthias,

    I installed the Jelly Bean 4.1.2 – v3.0 vijendrahs ROM and the google apps together on a GSM bravo. I found my system was suffering extreme shortage of memory and had trouble configuring the system until I realised you suggest the sequence (1) install ROM then boot, (2) setup a2sd then reboot, and (3) installation of google apps.

    As a work around to severe RAM shortage (assuming swap acted as a RAM extension), I chose 128MB for the swap size and left it at that size.

    Everything seems fine with one constraint being that I cannot allow google play store to update itself as it seems to break.


    1. Hi Phillip,

      thanks for your detailed feedback. As of version 3.0 Google Apps is already included in the ROM – so there is no need to install it manually. I’ve updated the post accordingly. Also, I believe here lies the problem of the Play Store not working on your device (double installation).

      Exactly, the RAM shortage can be solved by using a2sd πŸ™‚

      Furthermore, please note that version 3.1 has been released.


  11. Great tutorial! I followed this and had no problems at all. Thank you for taking the time to write it and providing so much detail.

  12. I followed this guide a file ago and installed an older version of the ROM, I’m wondering how do you update the ROM to the newer version. I looked at the “updating android section” but it doesn’t clarify how to update the old ROM to the new one. please and thank you

    1. Hello,

      the process is the same as installing a new ROM, i.e. save the new ROM on your SD card, format it and start the installation process. The upgrade section only shows how you can backup your data and apps prior to overwriting your current installation. There exists various tools such as Titanium Backup that can take of doing these tasks.

      Hope that helps. Cheers

      1. ooh that makes a bit more sense, so basically I have to put new ROM into SD card and then do I wipe everything? or do I just have to install right away?
        Thanks for replying so quick and your guide is the best.

        1. Hey,

          exactly. It’s best to wipe everything before installing the new ROM. This is recommended for any ROM you might want to install. Thanks for your feedback. I will update the upgrade section to clarify this point.

          Cheers Matthias

  13. Hi Matt,

    I have stopped in the middle. Could you please help me how to wipe data and cache.

    Is it through Recovery (2 options)–> Wipe data/factory reset and Wipe Cache ?


  14. Hi Matt,
    Copying big files to MiniSD like (ROM and JB)is not allowing in my Windows 7.
    I formatted SD from FAT32 to NTFS and its allowing now. Is it fine?


    1. Reformatted SD again in through handset option. I mounted my device through USB cable and copied successfully.

      1. Hi Manoj,

        it’s easiest to format the SD card via the corresponding recovery console option (first “Partition SD card” and then “Format”). Nevertheless, you could also prepare the required partitions using your favorite OS and a couple of freely available tools. If you are interested there are numerous tutorials on the internet explaining the required steps. Cheers

  15. I finally able to upgrade it to Android Jelly Beans. Thanks Matthias for the steps. But now my HTC Desire handset is unable to locate any WiFi. Please help me to resolve this issue.

    1. Problem resolved.
      Step1 : Using terminal emulator run:
      #sqlite3 /data/data/ “INSERT INTO secure (name, value) VALUES (‘wifi_country_code’, ‘EU’);”

      step2 : Reboot device
      Go to setting–> wi-fi –> access point must be visible

      Install WiFix Manager and set Country Code e.g. EU for Europe and reboot

      1. Hi Manoj,

        sorry for the late reply. I was very busy the last couple of days. Great to hear that you finally found a solution – thanks for sharing and for your valuable feedback! Have a nice day πŸ™‚ Cheers Matthias

        1. Thanks a lot Matthias. It is one of the best blog I have got to upgrade my old HTC Desire with android 2.2 to JB.

  16. Hi Matt. Just install ROM, no problems and all went as instructed. Ran a2sd as instructed and it seem to go well and showed apps moving after reboot. But when I checked my internal storage it says only 148MB total and not over 2GB that I would expect to see with my Ext applied. Any ideas?

    1. Hi Gaz,

      that’s OK since the Desire only has 148MB of internal memory. If you look under the “SD Card” option and “Total Space” in the “Storage” menu you will have the correct value of 1,72GB (when using a 2GB SD card and the settings described in this post).

      a2sd merely creates symlinks that simulate extra free space on your SD card to be used by Android for apps etc. You can test this behavior by opening the “Apps” option from the “Settings” menu and switching from the “Downloaded” to the “On SD Card” tab. The amount of storage used will decrease when switching back from “On SD card” to “Downloaded”. This way you can check that a2sd is working.

      Also, in case JellyBeans reports that there is not enough free space simply use this procedure to force a2sd to update the free space stats in the background.

      I hope that clarifies the inner workings of a2sd πŸ™‚


      1. Apologies, didnt add to same thread.

        I must be thick or something cause cant see β€œSD Card” option. I have got Internal Storage and USB Stotage but no β€œSD Card” option. Any ideas? Is there a way to get Internal memory to report properly?

        Also I’ve just rebooted and my apps seem to have moved again at start up. But when I try to launch anything it says it is not installed as if they were wipped but the shortcut has stayed.

          1. Hi Gaz,

            it’s also normal that apps get moved from internal storage to your SD card on the next reboot when you’ve installed apps prior to installing a2sd.

            Your internal memory capacity is fine but it’s strange that you don’t have a SD card option.

            I will post a screenshot in the afternoon to clarify this point.


          2. Hi Gaz,

            sorry for the late reply. Please have a look at this screenshot:


            As you can see the storage used by “Apps” exceeds the “Total space” of the “Internal memory” available, which clearly indicates that a2sd is working as intended. Furthermore, you can also see that the total space available on the SD card (4GB) is 1,72GB.

            Hope that helps.

          3. Hi matthias, thanks for this great guide.

            I just sucessfully installed 4.2.2 v6.3 without an error during all the steps from guide. I read all comments as well, especialy those from Gaz about storage sizes. Sorry to say, I still do not fully understand it. This is my situation:

            Brand new 8 GB memory card – I created 2048 MB ext partition and 128 MB swap partition (the only difference from your guide) via the recovery. Then I placed the card to my card reader. Windows 7 disk management showed both ext and swap partitions and the on the remaining space there was fat32 partition about 5,8 GB. I copied the ROM zip to this fat32 partition and continued in your guide.

            Phone booted like a charm, I did that a2sd procedure sucessfully, rebooted and started to play with the phone. I came to Settings – Storage and I am completly confused. This is what I see:

            – Internal storage: total space: 148 MB. Understood, this is Desire’s limitation.

            – SD card: total space: 5.38 GB.

            I wonder if this is OK. I do not understand where is that 2 GB ext partition created during setup. Please, can you explain?

            You posted this image for Gaz above. You wrote you have 4 GB memory card and you have created 2 GB ext partition and 64 MB swap. On your image, there is: SD Card: Total space: 1.72 GB. Is this the ext partition or the rest of the card: 4GB total – 2GB ext – 64MB swap = around 1.72GB fat32 space?

            Many thanks.

          4. Hi qwerty,
            the ext partition is for the operating system (JellyBeans, Android) which you don’t want to tamper with once the installation went through. Yes, 5,38 GB is your (remaining) data partition which you can (thanks to a2sd) also use for your apps. You always loose some space due to partition and file system requirements (i.e. information about your partitions need to be stored somewhere too). Hope that helps. Cheers

  17. I must be thick or something cause cant see “SD Card” option. I have got Internal Storage and USB Stotage but no “SD Card” option. Any ideas? Is there a way to get Internal memory to report properly?

          1. hi matt..thanks for the quick respond.really2 appreciate it πŸ™‚
            btw, if i hve 8gb memory card, what is the best partition should i make for this one?
            because you said you use “4GB SD card (like me) choose a 2096MB Ext partition”..

            so,how much do i hve to make the partition for 8gb sd card..thanx again for ur help matt

    1. Hey yoko,

      you are using a pretty out-dated version of CWM Recovery (2.5.x). This guide is based on version 5.0 and above. Therefore the navigation does not resemble the one presented in the screenshots. I recommend to update your CWM to at least 5.0 to benefit from numerous bugfixes and improvement and to be able to follow the steps described in this post exactly.


      1. Hi matt.
        I reinstall the revolutionary.voilla..its working.hehee..thank u so much matt.
        Btw,evrythins fine except for my youtube/video.its to fix it yaaa???

  18. hello matt..
    I have 16gb memory card, what is the best partitions I should make for this card. it is a SanDisk class10
    In your description you said you use β€œ4GB SD card and you choose a 2096MB Ext partition”..
    (ext3, which will be the default used by a2sd) and a 64MB Swap partition.
    so how much space for the ext3 and how much for the Swap partition should I choose?
    thanks for the help

  19. can I use MiniTool Partition Wizard to partition my card and do I need a Swap partition?
    your answer would be appreciated
    thanks for the great how to guide!!!

    1. Hey landscaper,
      sorry for the late reply. I recommend to set your ext(3/4) partition to 4GB and create an optional 64MB of swap space (which is not really needed as you’ve mentioned). This way you still have enough space for audios, videos, documents and other stuff on the remainder partition. Also, I’ve experienced problems with partitions >4GB on a Desire in the past, but this can be related to SD cards of lesser quality.

      Furthermore, please do the partitioning through the corresponding menu in the recovery mode. It can save you a lot of hazzle. Don’t forget to do this process a couple of times to ensure proper alignment.

      Hope that helps and thanks for the feedback!


  20. hello Matthias
    thank you so much for your explanation. don’t worry about answering late. I’m not in a hurry to flash my desire. it is my only phone and recently I relay on it a A LOT so I have to make sure it works. also I recently run into the problem that the phone does not recognize my Sim card after a restart. have to take out the battery a couple time and Sim card and eventually it works. might have to get a new Sim card.
    one more question at least..
    you wrote :
    NOTE: Do the partitioning a couple of times to ensure everything has been written correctly. Then restart your phone and wipe data and cache (do this a couple of times too).
    what do you mean with restart? reboot the phone normally,switch it off and restart into recovery, or just go back after partitioning and wipe the data in recovery?
    that’s the only point that’s not clear to me.
    otherwise WHAT A GREAT WORK you did with this article!!

    1. Hi,

      seems like you need a new SIM card πŸ™

      Restart into recovery again as this is the place where you can do the wiping of data and cache. Sorry if this wasn’t clear enough. I’ll update this post accordingly.

      Have fun with your shiny new JB-powered Desire πŸ™‚

  21. hey matt! okay so i already upgraded once and that worked like a charm! bak then, i was using a 2gb card. i used it for a while and evrything was perfect thankyu very much
    but after a few days, i turned my phn off to switch the sim cards and wen i turned it back on, my phn memory seemed to have gone down from 120mb to 35mb and a lot of the apps werent there. they just vanished πŸ˜• 😐
    what happened ??

    1. Hi Upal,

      when starting your phone for the first time after setting up a2sd (correctly) it will move existing apps from your internal memory to your SD card, thus decreasing the internal storage usage.

      Are you sure that a2sd is setup correctly? You can issue the a2sd install command any time later too. On the next start of your phone it automatically takes care of moving existing apps to your SD card.

  22. thanks Matthias, I will wait till I get a new sim card, before I do any flashing in order to get it right.
    meanwhile I found some interesting articles about using titanium backup to remove bloatware from my phone and use android sdk commands to move certain apps to my sd card to free up some space on my phone.

    1. Good luck! Feedback on the bloatware issue is always welcome πŸ™‚

      Also: Please use the “Reply” option, otherwise each time you write a comment a new thread will be created. Thanks!


  23. πŸ™
    i tried everything ‘by the book’ but i get error when trying to install mod from zip file:
    Creating symlinks
    symlink:some symlinks failed
    E:Error in /sdcard/CM10_VJ_4.1.2_V3.1_with…zip
    status 7
    installation aborted.
    I tried also different mods V3.1, V3.0, V2.8.. and get always the same error.

    Any help would be much appriciated!

    My hdc desire bravo was allready rooted and running mod oxygen 2.3.2 bravo, but i’d like to use JB..

    1. Hi Giovanni,
      please make sure that the downloaded rom-zips are error-free by checking their integrity using your favorite zip-tool, e.g. 7zip.
      Are you using a class 10 SD card or lower? Make sure to completely format your SD card and check for errors.


        1. Hey,
          I personally do not recommend pre-alpha releases unless there are new features that you absolutely require in order to use your device. Operating these versions is highly risky… I would wait a couple of days for at least a beta version if I were you. Still, support for tethering sounds awesome πŸ™‚ Cheers

        2. This happened to me, but it wasn’t a problem with the downloaded image. It turned out that it was because I had a custom hboot installed (AlphaRev’s CM7R2 hboot), so my /system partition was too small for the ROM.

          Reinstalling stock hboot solved the problem, but didn’t leave enough space for installing apps. In the end I followed the Project Slim guide to remove some stuff from the ROM zip to reduce it below 180MB. Then it installed fine with the data++ hboot.

          Hopefully that’s useful to someone else…

  24. hey! mate thanks a lot awesome ROM.I was thinking of selling my desire but u saved it. πŸ˜€ thanks again

    1. Hi Sofia,

      I’m afraid that I need more info to help you. Did you install the ROM correctly? Also, make sure that a2sd is installed and configured. Did you install these apps before or after configuring a2sd? Cheers

  25. hey! mate
    I have install jb successfully using your tutorial but when i put a command a2sd install , its says

    /sd-ext not mounted might have errors
    Ext Partition unknown

      1. should i have to reinstall JB too, perform all steps that you have written in this tutorial (i.e. after partitiong)

          1. its not formatting now, says
            Error mounting /sdcard/.android_secure!
            Skipping Format..
            Data wipe complete

  26. I have the same error just like Giovanni. πŸ™
    I also get an error when trying to install mod from zip file:
    Formatting system
    Installing CM10 VJ
    Creating symlinks
    symlink: some symlinks failed
    E:Error in /sdcard/CM10_VJ_4.1.2_V3.1_with…zip
    (Status 7)
    Installation aborted.

    I am using an 8GB SDHC memory card. I formatted the SD card a couple of times, partitioned it a couple of times with /ext size of 2048 and 64MB swap partition. I have wiped data/factory and wiped cache several times before copying the .zip file using my laptop(i put out the sim card from my phone and had used adapter). I also checked the card itself for errors(a test using 7zip) and by checking system errors on the SD card. Both didn’t show any errors on it. But still, I failed several times. Could someone help me on this please? :((

    Should I need to buy another SD card? My SD card has a transfer rate of around 7-9MB(peak) per second.


    1. Hi Adjie and Shahrukh,

      sorry for the late reply. Did you re-partition your SD card prior to formatting? If not please do so using the recovery mode option. This is important as external partitioning tools tend not to work as expected with the clockworkmod installer. Once fully re-partitioned format your SD card a couple of times. Also, like I’ve stated before please check the integrity of the ROM zip downloaded using your favorite zip tool, such as 7-zip.

      The formatting error suggests that your partition contains (physical) errors. Thus, please try the steps explained above. If nothing happens you might want to try the installation process with a different SD card. Memory problems can cause really strange side effects…


  27. Thanks Matthias,
    That worked for me on my HTC Desire (Bravo).
    I must admit that I had to try it 2 or 3 times, because I failed to follow your instructions to the letter each time.
    Anyway, eventually got there :mrgreen:
    However the “Home” button seems inactive for me, nor does the Stock Browser work. Not an issue, as I could install Dolphin Browser, but just something I wasn’t expecting.

    1. Hi ger,
      thanks for your feedback. I’m glad that it eventually worked out for you.

      When you say that the stock browser does not work do you mean that it does not even start, or that it crashes when browsing?

      As far as the home button issue is concerned have you tried turning off the soft button navigation option and on again via the settings menu? If not please try it and restart your phone.


      1. The Stock Browser tries to open for a split second then disappears!
        Yeah, no luck with the home button.

        But more worrying is that while I can make calls fine, send messages, access the internet, I can’t receive calls. When anyone tries to ring my phone, on their phone they hear one ring tone, then it just says says “my line is busy” and the phone stops ringing. It doesn’t even register on my phone as a missed call. Any advice?

        1. That sounds a little weird. I’m afraid that I can only suggest to re-install the ROM entirely. Like I’ve stated before please make sure that the downloaded ROM is 100% error free (run check with your favorite ZIP tool). Also, format existing partitions a couple of times from within the recovery mode (like you’ve done before) to make sure everything has been wiped correctly.

  28. I know ds is the wrong place to come but i just love the way u respond to your msgs. Pls i av evervol ics installd ryt now as i have tryd other roms bt i have had problems wt bluetooth. When i switch on Bluetooth, my fone crashes n i av to wipe system. Pls help.

    1. Hi deja,
      I’m afraid this is a problem related to your particular ROM. Have you tried posting your problem on the developer’s site or forum? If not please do so. I’m sure somebody there will be able to help you. Good luck!

  29. hey Matthias,
    I’m afraid from doing change to my phone πŸ™ .
    can i restore my phone to it’s original anroid version if there any problems on jelly bean version
    thanks in advance

      1. thanks for Ur help Matt i have backed up my current Rom now I’m in my way to install the JB version Just pray for me. Cheers.

      2. it looks wonderful version but there is some problems like i can’t save contacts to my phone memory all contacts saved to my g mail account.

          1. Hi Mohamed,

            first off sorry for the late reply. It’s great that you’ve solved this issue in the meantime. Although, I believe the issue is (was) caused by not setting the primary storage to your internal memory. Either way, it’s working for you now πŸ™‚

            Concerning the battery drain issue I would suggest to inspect what app is running in the background and is using up your battery. There are numerous tools in the Play Store that can help you with that.

            Thanks again for the feedback.


  30. Hi Matt.

    I’ve downloaded & followed the introduction above. My HTC Desire looks great with JB. Thank you.

    But I have a problem with my wifi connection. I did as Manoj, installed wifix and changed country code as EU. My wifi connection works well while I removed my SIM card. If I place SIM card into my phone, wifi doesn’t connect. Can you help me?


    1. Hi,

      I’ve solved the problem. Wi-Fi settings > Advanced > Wi-Fi region code must be Europe.

      Rgds, Ankha

  31. hello!

    i just flashed my desire with, everything seems to be fine — except: calenders from google do not sync.
    in calendar-settings for the account it says “no calendars”.

    anyone else has this problem or even a solution?

    thank you!

  32. hi

    just a quick question, i have just restarted my htc desire and all apps on the SD card are no longer available, i checked the memory and they are on the SD card but all 0MB

    1. Hey sumit,

      sorry for the late reply. It sounds like a2sd is not working properly on your device. Thus, please ensure that a2sd is configured correctly before installing apps after setting up the ROM.

      Either way, a2sd should be smart enough to move new apps on the next boot cycle. In the worst case I would suggest to simply remove your broken apps, ensure that a2sd is working correctly and then install the apps again.

      Hope that helps.


  33. Thanks for your post, it was really helpful. I also upgraded my HTC desire. πŸ˜€
    There are some problems:
    1) The device sometimes switches off by itself
    2) When I press an Apps Icon, it takes time to open
    3) The notification volume is too low.


    1. Hi Eliyas,
      have you tried re-installing the ROM already? Sometimes it takes a couple of installations to work 100%. Your second problem is most likely related to a slow memory card. Please check that you at least have a class 10 card. Concering the volume issue: Have you had problems with your volume in the past?


      1. hi Mattias
        Thanks for your reply.
        I have already re-installed the ROM (two times).
        My memory card is of lower class πŸ™ πŸ™ I will buy a new one and re- install the ROM again. I hope that will solve the first two problems. πŸ™„ πŸ™„
        I did not had the problem with the volume in the past. I have downloaded Volume booster app and it has helped me.
        Thank you again 100 Kilogram πŸ˜€

  34. Hi,
    I have couple of questions.

    1. I already have a custom ROM with cynogenmod 10 Jelly Bean 4.1.1 in my desire. Currently my HBOOT version shows as “HBOOT-6.93.1002”. Please let me know can i install your ROM now without any issues ?

    2. If i need to change my HBOOT to something else before trying this, how can i do this.

    Please help in this regard.

  35. hey matthias, pls is there a link for the a2sd? is it supposed to be a zip or apk file? helpppp. i really dont understand

    1. Hi Akpa,

      a2sd is a tool that comes preinstalled with the JB ROM. You don’t need to install anything additionally. Simply open the terminal app (also preinstalled) and type the commands as posted. Hope that helps.


      1. thank u sooo much matt. i went over the whole procedure again. it worked like a charm. now i have a working rom with free space. thanks

  36. hey Matthias
    i am so dory for inconvenience but am sure that you are very helpful person
    i have installed this ROM and like amazing but there are some issues like the only memory where i save contacts is G mail only there is no phone memory when i save new contact.
    2nd about a2sd i have partitioned my SD as you posted up and already installed many app but now it show only remained internal memory is 15 M.b only i have installed it again from terminal app but it is useless way how can i reactivate it because of the insufficient memory notification cause headache to me
    thanks in advance

    1. Hi Mohamed,
      sorry for the late reply. Concerning a2sd please open the storage options from the settings menu. If a2sd is properly setup on your phone you will notice that the storage used by your installed apps will decrease as a2sd updates the internal memory “counter”. If not please re-do the a2sd setup and restart your device. a2sd will move all apps from your internal memory to your SD card. Also, you might have more luck with the newer version: VJ CM10.1 | Jelly Bean 4.2.2. Hope that helps.

  37. After downloading the zip to the sd card and I go into install zip from sd card I get an installation aborted message. I tried different versions 2.9, 3.0, 3.1 but they all give the same error.

  38. I flashed the rom and everything is working fine except for the video cam. When i take pictures everything saves but when I do videos, it doesn’t, is this a known issue?

  39. Muhammad Talha

    Hey man! I have a question. Why do you need to partition the sd card. I mean just run the a2sd script anyway and it will move the apps to the sd card? right? and when u partition how would a2sd know in which partition should it put the apps. I have a 2gb card and was thinking to run a2sd without partition. Will that make a difference? Thanx in advance πŸ™‚

    PS: You are a great talented guy and very very helpful! May you succeed!

    1. Hey Muhammad, sorry again for the late reply. Partitioning the SD card will give you a fresh start which is often needed for custom ROMs to fully work. This is why this guide advices you to do the partitioning a couple of times. Be sure to backup your data prior to partitioning. Cheers

  40. Muhammad Talha

    And one more qs. Vj has given an htc desirre 4.2 custom rom cygon 10.1 but it also says this with the name: ‘sense, data++’
    what is sense and data++?? Plz help.

    1. Hi Muhammad,
      there are a couple of different ways how you can manage and set your SD card as primary app and cache storage. a2sd, sense and data++ are just three of these options (there are a lot more, each having it’s pros and cons). I’ve opted for a2sd in this guide because it is easy to use and has been working for every setup I’ve used so far. Hope that clarifies your point. Cheers

  41. Hallo
    For those who have problems with Camera, panorama or Video. Just go to setting and disable Camera. Then go to google store and install Camera ICS and Gallery ICS (from Moblynx). Camera ICS is an improved version of the official Camera app included on Ice Cream Sandwich (Android 4.0).
    Worked for me as a charm. I am using VJ CM10.1 | Jelly Bean 4.2.2. … Hope it helps !!

  42. Muhammad Talha

    hey man! What if i backup my stock rom with clockwork mod first. And then go for partitioning the sd card and install vj rom with your method. But it will also definitely also delete my stock rom backup from the sd card πŸ™ How do store this backup somewhere before partitioning and formatting the sd card. Plus you said in your tutorial to backup everything before this method like with titanium backup. But titanium backup also backs up at the sd card. So partitioning the sd card will also delete its (titanium) backup. Please help!

    1. Hi again,
      you can easily backup to your SD card and then copy the contents to your PC or laptop before partitioning. Simply use Titanium backup for this (as described in the guide). It will create folders and packages that you can then backup to some other device for future restore. Cheers

  43. Hey all! I am a beginner and i want to root my HTC Desire to install VJ CM10.1 Jelly Bean 4.2.2 Custom Rom. But i am having issues understanding some things before rooting. I am going for Unrevoked to root and flash CMW on my Desire. And then backup the stock Rom with CMW. I am having these issues:

    1. The download link for the custom rom (VJ CM10.1 JB 4.2.2) of HTC Desire on this site….php?t=2070704 gives two option for download. One is for ‘Stock Hboot version’ and the other is ‘Sense/Data++’. How do i know if i have stock or sense/data++. Cause holding down volume and power button will only show the Hboot version e.g 0.75 or something. How do i know that i need my custom rom for stock or sense/data++? PS what is sense and data++?

    2. Before flashing the custom rom i will backup my stock rom with CWM. And i think it would backup on the sd card? But after backing up when i will go for partitioning the sd card to have more internal memory and then install my VJ custom rom it will also delete my stock rom backup? right? So how do i store my stock rom backup before partitioning and formatting the sd card and then bring it back on the sd card to be later accessible by CWM?

    3. If i will partition the sd card and run the a2sd script to move my apps to sd card, in which partition would it move to? And out of the two which partition would be available for me to use for like music, videos etc.

    Any help would be highly appreciated! I am stuck on these issues

  44. Nikki MacLeod

    Hej Mathias. Is there a lot to be gained by upgrading from VJ’s 4.1.2 to 4.2.2 and dose this upgrade need a nandroid &/or Titanium backup and a complete wipe first? Thanx

    1. Hi Nikki,
      first off, you always have to backup everything prior to flashing a new ROM version onto your phone since it’s best to completely wipe your memory prior to upgrading. Concerning the version changes you might want to check out the official ROM forum. There have been some crucial updates/fixes, such as that the ROM now fully supports tethering. Nevertheless, always keep in mind to never change a runnnig system πŸ™‚ Cheers

  45. Hey yo! What a splendid tutorial! πŸ˜€ Just one question. When i run the ap2sd script it will move all the apps to sd card as mentioned but will that make this default for the new apps? Cuz all the forums out there says to install link2sd for sd card management and linking the apps to move by default? And will i see the internal storage increased to 2gb in the settings menu! Thanx in advance! :p

  46. Very useful guide, just installed a newer version (4.2.2 v6.3) everything its smooth and nice. The only hard part for me was the rooting thing haha, took me some time to realize how easy is now with Revolutionary.
    PD: first day i heard about all of this stuff, just wanted some more space for apps =) checked some videos to complement ur very useful information love ya

    1. Hey Chris, thanks for the heads-up for v6.3. I will update the post accordingly. If there is time I will add some more info on the rooting procedure for clarification. Enjoy your shiny new JB πŸ™‚ Cheers

    2. Hello gars,

      Firstly, thanks Matthias for this tutorial and yours comments here.

      I installed a new version 4.2.2 v6.3 for my HTC Desire Bravo and after two weeks of use, I noted one very major problem πŸ™ during a voice call, my phone reboots spontaneously.
      There anybody else who also noted this one ?

      Others minor problems : Google maps jitter effect and one strange behavior of the camera

  47. Hey, thanks for the guide.

    When you say “take out the SD card” do you mean I need to physically remove it and use an external reader to copy the ROM? Can it be left in the phone for the copying process? Sorry, this step just confused me!

    1. Hi Paul, I’m really sorry for the late reply. Yes, it’s best to physically take out the SD card in order to copy the ROM. In fact, you will need to copy the ROM externally since you most likely will have problems accessing your freshly partitioned SD card via a cable on your device. So, it’s much easier to take out the card and copy the ROM via a card reader, etc. Cheers

  48. hanks dude for the tutorial but i cant access my sd card and wifi.. when i remove sd card wifi works but with sd card both doesnt works.. πŸ˜₯

    1. Hi Eric, first off which device and JB version are you using? When you say you can’t access your SD card I’m assuming that you have a running JB version on your device? Or do you have problems accessing the SD card via the bootloader?

  49. Great guide.

    Had to do a few extra steps because my PC wouldn’t recognize the SD card as being formatted when I tried to add the ROM to it:

    I had to reformat the SD through my PC to add the ROM. This wiped the partition. I installed the ROM following your guide, but once I installed and loaded the new ROM the SD card would not mount (“Blank SD card”). I had to repeat the partition step through recovery, but the ROM was preserved so I didn’t need to reinstall. SD mounts properly now and I can a2sd install without problems.

    ROM works great. Lots of room. Thanks for the help.

    1. I did this mostly to free up space for apps on my phone. As much as it helps it still isn’t enough.

      While I’ve installed several more than I could previously, it is still very limited and disappointing. I was hoping I could avoid putting apps on the internal memory all together, but it seems to be a half and half between internal memory and SD.

      Any suggestions or is this as much as I can expect?

      1. Hi Kyle,

        have you tried updating the internal memory counter as suggested in Gaz’s thread?

        The setup described in this guide does not use the SD card for everything related to an installed app (this is way you answer the three questions with YES, NO and YES). You can try to answer the second question with YES too (which will advice a2sd to store app-related stuff entirely onto your SD card), but I suggest that you try to update the internal memory counter first.

        Hope that helps. Cheers

        1. Issue is fixed now. Lots of space.

          I’m guessing the partition didn’t work. The number on SD storage was changing, indicating that apps were being installed to the wrong partition. I repartitioned, wiped all cache, factory reset and everything is good. Tons more apps, just need more RAM :O.

  50. Thanks for the tut! 4.2.2 was soft resetting once in a while in the lockscreen but this works like a charm.

    I didn’t enable swap though (never set it up in the first place) but all seems fine. Do we need it?

    1. Hi ouphe,
      chances are that you will not need it at all as it is optional. If you notice that after some time your phone becomes slower you might have to set it up. But as stated before you normally can safely use your phone without a swap partition. Thanks for the feedback. Cheers

  51. Hi Matthias

    Followed instructions after rooting phone. Had to do it a couple of times but finally worked. Superb instructions. Thank You. Just a couple of questions
    1. Where is the Sat Nav app.
    2. HAve you managed to get java working with the installed browser


    1. Hi Dinesh,
      depending on your jb versions you need to install Google Apps too, which includes Google Maps. Do you really mean Java or Javascript support for the browser? I’m not sure if java is supported at all. Hope that helps. Cheers

  52. Jumping_Chrisl

    I have some issues with partitioning the SD.

    My Bravo is S-ON with
    VJ CM10.1 | Jelly Bean 4.2.2 – v6.3 (link from top)
    and everything works fine… but I didn’t partition the SD-Card.

    Now I cant use
    ->Revolutionary(Error:entation fault)
    ->unrevoked3(Error:Frimware too new?)

    I guess I am just too new in this stuff to get it right….

    What do I need to do to partitioning my sd now? Any hints?


    1. Hi Jumping_Chrisl,
      please re-install JB as suggested in the guide. Revolutionary(Error:entation fault) suggests a segmentation fault, which is not good. Thus, please re-install JB entirely and try again, also make sure to partition the SD card this time πŸ˜‰ Cheers

  53. Hi, thanks for the great tutorial.
    My HTC wont come out of the spinning logo.
    I have formated the SD card several times as you suggest trying both 1048 & 2096 Ext partitions and 64Mb swap partition in recovery. (8Gb SD card)
    I load the zip sucessfully and reboot, but just get the logo screen.
    I am trying CM10.1_VJ_4.2.2_V6_May24, should I try a different ROM? I have cycled through the process 6 or so times and even left it on the logo screen overnight to see if it would work, but it doesn’t.

    Help please.

    1. Sorted now thank you. I missed the line about wiping the data/cache. I have done that and it loaded correctly. Thanks again.

      I notice that half of the camera screen is full of noise when taking photo’s. The image appears ok when viewing in the gallery.

  54. Hi,

    my name is burhan, i am using htc desire c,

    which is the best custom rom of higher android version i can install ?

    please mail me.

    i will appreciate alot.


    1. Hi Burhanuddin,
      sorry for the late reply. As far as I know that Desire C comes with JB pre-installed, right? Have you checked for official HTC updates yet? This is always to best option available before trying to root your device. If not (and HTC does not offer updates for this device) you still have the possibility to install any of the JB versions available by vijendrahs. But make sure to backup you existing ROM first! Good luck, cheers.

  55. Hi Matthias,

    Thanks to your how to my Desire runs (till now) like a clock, and your checklist to check if a2sd is working is perfect.
    Hopefully I won’t get the message about memory shortage.

    Cheers, Haiko

  56. Jehoshaphat A. Hameed

    Dude, I got to admit that this was the best guide I could turn to for upgrading hy HTC Desire. All other guides failed, some crashing, others having problems in cmd. But this was the most easiest and effective!!! Loving my HTC Desire now!!! Thanks a million!!!

  57. Hi Matthias, thanks for your guide. Very helpful. I’ve successfully installed JB4.2.2 v6.3. Tethering is still not working for me. However, wifi hotspot is and that’s a workaround. Do you know if tethering ever was fixed (i.e. is it just me??). Has anyone got tethering working on v6.3? I have a HTC Bravo.

      1. Hi Peter, I’ve just tested the 6.3 version and wifi tethering does not seem to work at the moment ootb. The problem is rooted in missing file permissions. A working solution is to use “a2sd xdata” with Y/Y which will move app-data to your sd-card as well (as opposed to using the “a2sd install” with Y/N/Y).

        This comes with a bit of trade-off, since starting apps will be slower because everything is read from the SD-card – but WiFi tethering is working then. I highly recommend to use a class 10 or even UHS-1 SD-card in this case, as apps will start slowly otherwise.

        Additionally, I’ve update the guide with a link to an app for wired tethering.

        Hope that helps, Cheers

        1. Hello

          I haven’t use this tricks but I have change files rights and tethering work fine now on my HTC Bravo :

          [CODE]su –

          # ls -al /data/misc/wifi
          #-rw-rw—- system wifi entropy.bin
          #drwx—— wifi wifi hostapd
          #-rw-rw—- system wifi hostapd.conf
          #-rw——- system system ipconfig.txt
          #drwxrwx— wifi wifi sockets
          #-rw——- system system softap.conf
          #-rw-rw—- system wifi wpa_supplicant.conf

          chmod 666 /data/misc/wifi/entropy.bin
          chmod 666 /data/misc/wifi/hostapd.conf
          chmod 666 /data/misc/wifi/ipconfig.txt
          chmod 777 /data/misc/wifi/sockets
          chmod 666 /data/misc/wifi/softap.conf
          chmod 666 /data/misc/wifi/wpa_supplicant.conf

          NB : I haven’t try to grant less possible right. it’s probably possible to not allow all, but I haven’t make all test.

          Best regard

  58. I also got the hotspot problem, i cant share my hotspot.. πŸ˜₯ but the hotspot was detected on my ipad, but when i tried to connect it always trying to connect

  59. Hey,
    I am using clockworkmode touch
    i tried the file but it shows E-signature verification failed

  60. πŸ™ i installed jB according to your guidelines and app2sd from terminal too. but what i found after upgrading my apps that my internal storage is shown as 148 MB. i partitioned 1.5 GB ext3 , 182 MB swap memory of my 2 GB memory card.
    i can move my apps to sd card. but the internal memory too being grabbed by apps. thus if continues, after some more installation once internal will be full as early times. help me friend. πŸ˜₯

    1. Hi tanmoy,
      this is expected behavior if you’ve installed a2sd using the options Y/N/Y. Answering the second option with “N” means that app-data is not stored on the SD card but on the internal memory. In case you want to store app-data on your SD card as well you need to issue to follow the advice shown in this comment. Please bear in mind that starting apps will be slow if you have poor SD card. Hope that helps. Cheers

  61. Hi Matthias, I’ve followed your guide step by step and everything installs ok, but I don’t think a2sd is working, as i ran in the low memory problem again. So I backuped and redid everything.
    Still, a2sd is not working, when I install apps, it only takes up internal storage and when I run the a2sd install script nothing gets moved. I open the ext folder under apps there’s nothing in it.
    i installed the app ‘freespace’, which shows ext used and free memory with mine is just comes up with dashes as if it can’t read it.
    I checked to ensure the partition was aligned correctly.
    Do you have any idea what I can do to make it work? thank you!

  62. Hi, i wanna know, if i can use the cam in instagram, pirxl express, twitter and some other apps? yesterday i installed ics 4.0 for another rom and this was the only problem, thx.

    1. Hi Bela,
      sorry for the late reply. To be honest I have not used HTC sync on CyanogenMod so far. In case you really depend on this feature I will try to check if it works in the next couple of days. Despite there exist a lot of different sync tools you can chose from. Cheers

  63. Hi Matt!
    Wanted to root my htc bravo but not too sure about rooting it. So, would be very thankful to you if kindly show me the steps. Would be great if you can mail me.
    Thanks in advance.

  64. Hi Matthias,

    I got JB 4.2.2 V6.3 running. I use 16 Gb class 10 USH-1 with 2Gb ext and no cache, a2sd xdata Y/Y. Wifi tethering won’t work, wired tethering does work using apk. Directly after installing Wifi tether did work and my Nexus 7 and PC connected to the internet. After installing apps when I switch on Wifi hotspot it immediatley switches off. Apps lik Barnacle don’t solve the problem. I also tried VJ MIUI and AOPK rom’s they also have problems. Do you know if there is still development done or do you know someone who has successfully Wifi tethering with V6.3?

    I like your blog it is very clear and precise.


  65. Hi Matthias,

    I’m know using Easy Tether Lite to set up bluetooth tethering between my Desire and Nexus 7. This works fine. Also Wifi tethering now works of and on. While using Easy Tether I noticed that sometimes although in the notice bar the 3G or H was visible there was no internet connection. I tried using a signal booster app to reset the 3G connection but normally a restart will work. It maybe that the problems with wifi tether are in the Desire losing its 3G internet connection with it showing.


  66. Hi Matthias,

    Thanks for the reply. I now have working wifi tethering.

    I may have found one of the causes for the shutdown immediate after turning on tethering.
    During testing I discovered that turning on tethering with wifi still active causes the Desire to loose its “data connection”. The status/notice bar is showing 3G/H, suggesting there is a 3G data connection but using *#*#4636#*#* to access the TEST menu it is clear that there is no data connection. I had to reboot to restart the data connection. Even using *#*#4636#*#* > Phone information>menu (button) I was not able to enable the data connection. I also tried toggling flight mode and several apps that restart the 3G connection.

    Now I switch off Wifi and allow the 3G connection to stabilize before I turn on tethering.
    This way I have no more problems and everything works fine. I found that the app “3G data only” can be helpfull, it forces the use of 3G over 2G (turn it on before switching on tethering to ensure a stable 3G connection, switching between 2G en 3G can also cause the loss of the data connection).

    Since then I have had no problems setting up a hotspot.

    It is just great to see my old Desire running Android4.2.


    1. Hi Antoine,
      thanks for taking the time to post your solution. This is definitely helpful to overcome the wifi tethering problem. I’ve just successfully tested your solution.

  67. Hi Matthias,

    i followed some xda developers sites and booted my HTC Desire C phone, i accessed clockwork recovery mod and selected install zip from sd card and installed successfully, but when reboot my system its hanging on HTC logo written text below (this is only for developers etc…) now i can only start my phone to fastboot & bootloader mode, and i can goto recovery mod, thats all i am getting same messege, please can you help me what i have to do now, i had Android 4.0.1 i was trying to upgrade 4.2 jelly bean, now atleast i want back to my older version (atleast function my phone in factory default mode) or if it is possible to upgrade to 4.1 or 4.2 jelly bean, and the links for where to download.

    thanks & regards,

    1. Hi Javeed,
      first off sorry for the late reply. Since you still can access the recovery mode you are able to install any of the custom ROMs mentioned in this post. Simply do the steps described in this post again, i.e. re-install the ROM. In case you did not backup your settings and the ROM itself from version 4.0.1 you won’t be to restore it to this exact version. I would recommend to install a more recent 4.2 version, like CM10.1 VJ Jelly Bean 4.2.2 v6.3. Hope that helps, good luck!

  68. Sara Hallouda

    Hi Matthias, Thanks for your effort. I followed the steps and I am having a probem with 3G,every while (2 Hrs or so) i lose data connection and have to restart the phone in order for 3G to work again. Another problem is the hotspot is not working, it says turning on and keeps trying for over but nothing happens.

    Any help with these problems??

        1. Hi Sara,
          thanks for the info. As stated previously, this issue has been fixed in version CM10.1 VJ Jelly Bean 4.2.2 v6.3. So please do a re-install based on this ROM. The steps described in this post remain the same, all you need to do is to download the 6.3 release from the link shown above (see “Stock Hboot version -> Download with GApps”). Hope that helps. Cheers

          1. hey mathias
            my desire when i tried to wipe, amount or advance my memory it cnt work en it display revolutionary……so what can i do mr i need your help

  69. Hey Matthias,
    My SD card is not working i have 2 GB card and its memory show in pc 800 MB but i insert in my mb and open my camera it say β€œinsert SD card” Plz tell me what i’ll do??

  70. I flashed these ROMs ver 6.3 and 3.1 but video cam is not working. Some body above recommended to remove camera from setting and install cam from market. But I do not know how to uninstall can from setting. Any help please.

  71. Hey have you tried installing android 4.4 on the phone does it work because 4.4 does not require a big RAM

  72. First, thanks for a very useful guideline. Very well done. I rooted/NAND security removal using revolution, installed the CM 10.1/VJ 6.3 successfully and my Desire has a new life now. The camera display is unstable but was aware before the update.

    One problem is that the system never shows the Unlock wheel when starting. I’ve set it to Slide and setup the 3 lock screen apps but it just starts directly into the home window. Spent a lot of time through the lock screen options and it just doesn’t work. Am I missing something, or is this a known problem with this mod? Here is a YouTube video I did showing it in operation. At the very beginning you can see just after I press the On button there is no slide lock.

  73. Thanks very much for your most helpful guide. I chose the VJ 4.1.2, v3.1
    I found your very explicit “Y, N, Y” very useful when I have to use a2sd. Of course the second time I used a2sd, I wasn’t too precise about it, and did “N, Y, Y” with terrifying effect. Internal memory completely full, the phone almost didn’t move anymore. Time to check your guide once more, and now I know the mantra.

    I happen to read the message of Michael of 1.1.14. Almost the same name but exactly the same question: what did I do that the Lock Screen and it’s slider don’t show anymore?
    Even if I play with it’s settings.

    I’m feeling so confident about custom ROMs, that I now even consider to tackle my wife’s Wildfire S. But I understand that I shouldn’t use the same ROM there.
    I suppose however that your guide will still be useful!

  74. I usually do not leave a lot of comments, however after browsing a few of
    the comments on this page Installing Android Jelly Beans on HTC Desire
    Bravo | Matthias Kerstner. I do have a couple of questions for
    you if it’s okay. Is it just me or does it appear like some
    of these responses look as if they are written by brain dead people?
    πŸ˜› And, if you are posting on other places, I would like
    to follow everything fresh you have to post. Could you make
    a list of the complete urls of all your shared sites like
    your Facebook page, twitter feed, or linkedin profile?

    1. Hi,
      thanks for your feedback. Because of time reasons I currently do not post on other social network portals, so you’ll have to wade through the comments on this blog for the time being πŸ™‚ Cheers

  75. My HTC PB99200 not power on, it only vibrate twice whenever I plug it with charger. Pleas I needs help on how to run jumper on the board to make it power, if there is any other way out, I already change the flex thinking maybe it could be the power button. Pleas help cause I really love the phone and I don’t want to let it go just like that.

  76. Hi matthias

    I’m already using 6.3. To be honest my question was just to know if the tip was still valid even with 6.3. Good to know that is not necessary
    I can confirm that this ROM is really amazing. I tried other ROM but always encountered some trouble.
    Actually I founded to small bugs with 6.3 and my HTC Desire bravo:

    1) The video is still choppy though with screen tearing
    2) tethering not working

    I solved the first one following the suggestion of mathy007 (at page 443 of
    To sum up is enough to use “camera illusion” from play store.
    Instead, about the second one, I didn’t find any other user claiming this problem. I don’t know if I’m just the only unlucky……anyway I fixed by myself using the app “wifi tether”.

    Matthias I thank you for the time you spent!

  77. hey so here is the problem im into the hboot or w/e you call it but i cant get to the recovery cuz my trackpad button is not working ..

  78. “app2sd is not supported by your device. because your device has a primary external storage which is emulated from the internal storage”, I got this everytime I tried to use “Link2sd” on my Galaxy tab 3 7″ 8GB internal, can I use this method or its just for HTC, if not what should I do :/

  79. Sir,
    After upgrading my htc desire to 4.1.2 there is no cmaera icon anywhere and if i go to gallery and press capture pic that does not work…
    Help Meh!

    1. Hi Atif, think Matthias is strongly recommend you install 4.2.2. – it is more stable. He put the link to that version in his message above on 11/01/2014 at 12:28

  80. First, thanks for a very useful guideline. Very well done.
    i tried installing play Store on the phone does it work what i do …..
    i m not expert in this but i successful install JB 4.3 but there is no File Manager & play Store lyk map apps so how to install this stuff i tryed lot of options so please help…..

  81. Sir,

    I have done huge number if installation attempts but thay all fail with the same error message.

    Formating system
    Installation Evervolv
    Creating symlinks
    symlink: some symlinks failed
    E:Error in /sdcard/
    (Status 7)
    Installation aborted

    I have bought a new 8 Gb class 10 yesterday as I was doing the installations from the 4Gb class 4 card before.

    I partitioned the card first 4Gb and 128 Mb for swap.
    then formated the partitions in the recovery mode 2 times.

    the info in Recovery shows:
    partition – fs – size – free
    sd-ext – ext3 – 4097 MiB – 3.6GB
    sdcard – fat32 – 3373 MiB – 3.0GB
    swap – swap – 129 MiB – –

    Took the Sd card from the phone and copied the Zip file on the card with the use of a card reader.

    Checked the zip file with before and after copy with 7-zip. In both cases no errors.
    Put the card back in the phone and boot.

    The recovery mode boot is:
    Alpha Rve CM7 r2
    HBOOT-6.93. 1002

    Recovery gives me $EXT Recovey Touch
    Version Beta 6

    The phone is a Desire A8181 just to give you all the info.

    Do I miss something?

    I have seen that you are able to help out a lot of people.

    Thanks in advance.


    1. Hey Robert sorry for the late reply. Status 7 indicates that your device is not supported by the ROM installer. In case you are absolutely certain that you can install this ROM on your device (which sometimes is possible without damaging your device) you can edit the installer asserts manually and re-zip to files to install. Hope that helps. Cheers

  82. Quote: “Tell users to install an update called It adds extra cpu governors to the ROM which provide even better battery life and responsiveness, especially when coupled with an app like android overclock.” Quote:”this installs interactive and smartass”

  83. i added like three messages on governors. perhaps the latter ones are taking their time due to URLs. I could not find GovernorsFixed but i did find a
    You dont need to move the APPs to the SD card, there is a proceedure which involves executing this command: adb shell pm setInstallLocation 2 (and you dont even need to root the phone, apparently) It does not work for all phones (maybe due to their system version?).

  84. Hello Matthias,

    In case you want to update you phone or blog post to Kitkat, you can install this ROM to your HTC Desire. It works pretty well on mine. Steps are -condensed version-:

    1) Update your phone to -at least- CWM Recovery. Mandatory.
    2) Be sure to have your SD car partitioned with enough space for apps and enough swap space
    3) Wipe the phone
    3) Install the the new ROM
    4) Once Kitkat is up and running, immediately after run a2sd
    5) Download the rest of the Google Apps and other apps via Google Play


  85. hi Matt
    uhm im josh and i just got this htc bravo from my sis and im a little reluctant to change the O.S.
    but im wondering if i dont back up my older files(since the phone wasnt mine i want a new start) will i run into problems?
    pls reply immediately
    thanks a lot
    nce blog you have here

  86. and 1 more thing if i run into problems is it guaranteed that i can recover the former state of the phone?

  87. im sorry but im still a newbie in this things how do i know a phone is rooted?
    really sorry for bothering u with these questions

  88. Greetings Matthias -THANK you for all your fine posts – Very Helpful. I am very new to these smartphones, and now own a fine new HTC Desire Bravo A8181. Needing some apps that cannot run on the stock Froyo 2.2, I have observed and tried advice from many web guides and sources – with some considerable anxiety about ‘bricking’ my Desire. I did it once and recovered. However, without fail all the ROMs I have tried run so so slowly they are impractical at best, and in every case the Wifi does not turn on – means I cannot use a wifi connection. How can I get around these issues – speed and no Wifi please Matthias. An e-mail from you would be appreciated. I have rooted the Desire – Kingo Root – and have installed the Rom Manager – which works well. I do not know how to move from the older CMW Recovery to the version 5 you mention. It seems I need something called ‘Eng Boot’ right at the beginning of everything?? Thank you in advance, Rob.

  89. Greeting again Matthias. It seems I must have the “eng hboot” software installed before I can flash any recovery image manually. I have no idea how to do this! Please advise. Thank you, Rob.

  90. Hello – Rob here again. Whenever I attempt a manual Fastboot flash the diagnostic returned is “rerror: remote not alowed”. XDA site comments say I must have eng hboot installed…..?

  91. Every Info/clarification/download links, I needed to flash my HTC desire to Jellybean was available on this very page.

    Most appreciating thing about the author is his patience to answer all those queries. My regards to you sir.

    1. I forgot to ask my query. I have
      1. set country code to europe in wifi->advanced->country code.
      2. tried sqlite3 to set ‘wifi_country_code’ to ‘EU’
      3. set permission to 777 to all files in /data/misc/wifi

      Rebooted after every step, still when i turn on wifi it says ‘turning on wifi’ and after 20 seconds it automatically turn wifi off.

      Though It took me about 3 hours to root and flash my HTC desire(thanks to your great tutorial). Rest of the day wasted in trying to make wifi work. I tried other sites too, not much help on that.
      Anything else should i try? I have given up hope that I will use wifi in this MOD.

  92. Pingback: Installing Android KitKat on HTC Desire

  93. Pingback: Installing Android KitKat on HTC Desire

  94. Pingback: Installing Android Lollipop 5.1.1 on Samsung Galaxy S2 GT-i9100 - Matthias Kerstner

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top