Htc One M8 Official Rom Download
Cyanogenmod ROM HTC 1 M8 (m8)
Quick Info
Notes
Note: Unified device
Releases of CyanogenMod for the m8 device support all CDMA and GSM variants of the HTC I (M8): AT&T, Sprint, Verizon Wireless and International.
Special kick modes
- Recovery: With the device powered down, hold the Volume Downward and Ability buttons until HBOOT appears, and then release the buttons. Navigate using the book keys and select RECOVERY using the Power key.
- Bootloader: With the device powered down, hold the Volume Down and Power buttons until HBOOT appears, then release the buttons.
- Fastboot: With the device powered downward, hold the Volume Down and Power buttons until HBOOT appears, and so release the buttons. Navigate using the book keys and select FASTBOOT using the Ability key.
Source code
| |
| Codename: | m8 |
|---|---|
| Also known every bit: | m8 m8wl m8wlv m8vzw m8whl m8spr |
| Vendor: | HTC |
| Release date: | 2014 March |
| Type: | phone |
| GSM freq: | HSDPA 850 / 1900 / 2100 – AT&T HSDPA 850 / 1700 / 1900 / 2100 – T-Mobile |
| CDMA freq: | HSDPA 850 / 1900 / 2100 – Sprint HSDPA 850 / 900 / 1900 / 2100 – Verizon CDMA2000 1xEV-Practice – Sprint, Verizon |
| LTE freq: | 700 / 1700 / 2100 – T-Mobile 700 / 850 / 1700 / 1800 / 1900 / 2100 / 2600 – AT&T 800 / 1900 / 2600 – Sprint 700 / 1700 / 2100 / 1800 / 2600 – Verizon |
| Platform: | Qualcomm MSM8974AB Snapdragon 801 |
| CPU: | 2.3 GHz quad-core Krait 400 |
| GPU: | Adreno 330 |
| RAM: | 2GB |
| Weight: | 160 g (5.64 oz) |
| Dimensions: | 146.4 mm (5.76 in) (h) 70.6 mm (two.78 in) (due west) nine.4 mm (0.37 in) (d) |
| Screen size: | 127 mm (five.0 in) |
| Resolution: | 1080×1920 |
| Screen density: | 441 ppi |
| Screen blazon: | Super-LCD 3 |
| Internal storage: | 16GB or 32GB |
| SD Bill of fare: | up to 128GB |
| Bluetooth: | 4.0 |
| Wi-Fi: | 802.eleven b/m/n/ac two.4/5GHz |
| Main photographic camera: | Dual 4MP, wink: dual-LED |
| Secondary camera: | 5MP |
| Power: | 2600 mAh |
| Sound: | Boomsound |
| Peripherals: | Dual front speakers, accelerometer, gyroscope, proximity sensor, digital compass, GPS, magnometer, microphone, NFC, IR |
| CM supported: | 11, 12, 12.1, 13, 14.one |
How to Install CyanogenMod on the HTC One (M8) (m8)
Notation: DISCLAIMER
Modifying or replacing your device's software may void your device'south warranty, lead to data loss, hair loss, fiscal loss, privacy loss, security breaches, or other impairment, and therefore must be washed entirely at your own risk. No one affiliated with the CyanogenMod project is responsible for your actions. Skilful luck.
Of import Notes
Note: Unified device
Releases of CyanogenMod for the m8 device support all CDMA and GSM variants of the HTC Ane (M8): AT&T, Sprint, Verizon Wireless and International.
Unlock / S-OFF
Most variants of the 1 (M8) are supported by HTCDev Unlock. This is an officially supported method of unlocking your device'due south bootloader to install custom ROMs. Unfortunately, Verizon Wireless does not permit this device to be included in HTC's unlocked bootloader program. Fortunately, S-OFF is available via the firewater utility. This utility tin can optionally be used in place of HTCDev Unlock on any variant of m8.
Cull one of the options beneath and click [Aggrandize] for unlock instructions:
All non-Verizon variants: HTCDev Unlock
Unlocking the bootloader
Alarm:
Unlocking the bootloader will automatically wipe all device data.
Note:
The Ane (M8) can be unlocked officially via the HTC Dev unlock program. This unlock method may accept certain restrictions, such as not being able to flash a kernel via recovery (no longer applicable to 2013+ released HTC devices) or no USB access to sdcard in recovery. Some devices, even so, take no other method to install custom firmware.
- Make sure your computer has working fastboot and adb.
- Enable USB debugging on the device.
- Enable OEM unlock in the Developer options settings on the device. (Note: Non all devices have this setting, so continue with next pace if yours does not.)
- Connect the device to the computer through USB.
- From a last on a computer, type the following to boot the device into fastboot mode:
-
adb reboot bootloader
-
- Once the device is in fastboot mode, verify your PC sees the device by typing
fastboot devices- If y'all don't run across your device serial number, and instead encounter "<waiting for device>", fastboot is not configured properly on your machine. Come across fastboot documentation for more info.
- If you meet "no permissions fastboot", effort running fastboot as root.
- From the same last, type the following command to unlock the bootloader:
-
obtain your bootloader unlock token: -
fastboot oem get_identifier_token
-
- Visit the HTCDev Bootloader Unlock website and follow the instructions at that place to obtain your unlock central and unlock your bootloader. If your device does not appear in the driblet-downward listing, select All Other Supported Models.
- If the device doesn't automatically reboot, reboot it from the menu. Information technology should now exist unlocked.
- Since the device resets completely, you volition need to re-enable USB debugging on the device to proceed.
All variants: South-OFF
- All variants of this device tin obtain South-OFF via SunShine. Follow the instructions on the webpage.
Installing a custom recovery using fastboot
See All About Recovery Images for more information about custom recoveries and their capabilities.
- Brand sure your computer has working fastboot and adb.
- Download recovery — y'all can directly download a recovery epitome using the link below, or visit twrp.me to obtain the latest version of Team Win Recovery Projection for your device.
- Recovery: Download
- md5:
bd7a8c6a73cb9b8b6bac3ce9ec355c0c
- Connect the One (M8) to the estimator via USB.
- Make certain the fastboot binary is in your PATH or that yous identify the recovery image in the aforementioned directory as fastboot.
- Open a terminal on your PC and reboot the device into fastboot mode past typing
-
adb reboot bootloader - or past using the hardware key combination for your device while it is powered off.
-
- One time the device is in fastboot mode, verify your PC sees the device by typing
-
fastboot devices
- If yous don't see your device serial number, and instead see "<waiting for device>", fastboot is not configured properly on your machine. See fastboot documentation for more than info.
- If y'all see "no permissionsfastboot", make sure your UDEV rules are setup correctly.
-
- Wink recovery onto your device by entering the following command:
-
fastboot flash recovery your_recovery_image.img - where the latter function is the filename of the recovery image.
-
- Once the flash completes successfully, reboot the device into recovery to verify the installation. Kick to recovery instructions: With the device powered down, hold the Volume Downwardly and Power buttons until HBOOT appears, so release the buttons. Navigate using the book keys and select RECOVERY using the Power key.
- Note: Some ROMs overwrite recovery at kicking fourth dimension then if you practice not plan to immediately boot into recovery to install CyanogenMod, please be enlightened that this may overwrite your custom recovery with the stock one.
Installing CyanogenMod from recovery
- Make sure your estimator has working adb.
- Download the CyanogenMod build package for your device that you'd similar to install to your computer.
- Optional: Download tertiary party applications packages, similar Google Apps which are necessary to download apps from Google Play.
- Identify the CyanogenMod
.zippackage, every bit well equally any optional.zippackages, on the root of/sdcard:- Using adb:
adb push filename.zip /sdcard/
- Note: You lot can re-create the
.zippackages to your device using whatsoever method y'all are familiar with. Theadbmethod is used here because it is universal across all devices and works in both Android and recovery manner. If you are in recovery mode, you lot may demand to ensure/sdcard(sometimes called Internal Storage) is mounted past checking its condition in the Mounts menu. If y'all have booted regularly, USB debugging must be enabled.
- Using adb:
- If you are not already in recovery, boot to recovery mode now.
- With the device powered downwards, hold the Volume Down and Power buttons until HBOOT appears, and then release the buttons. Navigate using the volume keys and select RECOVERY using the Power key.
- In Team Win Recovery Project, select carte choices by tapping on the appropriately labelled push.
- Optional (Recommended): Select the Backup push button to create a backup.
- Select Wipe and and then Factory Reset.
- Select Install.
- Navigate to
/sdcardand select the CyanogenMod.nilpackage. - Follow the on-screen notices to install the package.
- Optional: Install any additional packages you wish using the same method (if you are installing multiple packages, install CyanogenMod commencement and then install whatsoever subsequent packages on height of it).
- Once installation has finished, return to the principal card and select Reboot, so Organisation. The device will now kicking into CyanogenMod.
How To Build CyanogenMod For HTC One (M8) (m8)
Contents
- 1 Introduction
- 1.one What you'll need
- 2 Build CyanogenMod and CyanogenMod Recovery
- 2.1 Prepare the Build Surroundings
- 2.ane.ane Install the SDK
- 2.1.two Install the Build Packages
- 2.2 Create the directories
- two.3 Install the repo command
- ii.4 Put the ~/bin directory in your path of execution
- ii.5 Initialize the CyanogenMod source repository
- two.6 Download the source code
- 2.7 Get prebuilt apps (CM11 and below)
- 2.8 Prepare the device-specific code
- 2.nine Excerpt proprietary blobs
- 2.ten Plow on caching to speed up build
- 2.11 Get-go the build
- ii.12 If the build breaks…
- 2.1 Prepare the Build Surroundings
- iii Install the build
- iv Installing a custom recovery using fastboot
- 4.1 Install CyanogenMod
- 4.2 Success! So….what's next?
Introduction
These instructions will hopefully assist you to start with a stock One (M8), unlock the bootloader (if necessary), and and then download the required tools also as the very latest source code for CyanogenMod (based on Google's Android operating system). Using these, you tin build both CyanogenMod and CyanogenMod Recovery prototype from source code, and then install them both to your device.
It is difficult to say how much experience is necessary to follow these instructions. While this guide is certainly not for the very very very uninitiated, these steps shouldn't require a PhD in software development either. Some readers volition have no difficulty and breeze through the steps hands. Others may struggle over the nigh basic performance. Considering people'due south experiences, backgrounds, and intuitions differ, it may be a good thought to read through just to define whether you experience comfortable or are getting over your caput.
Remember, you assume all risk of trying this, but yous will reap the rewards! It's pretty satisfying to kicking into a fresh operating system y'all baked at habitation :) And once you're an Android-building ninja, at that place will be no more need to wait for "nightly" builds from anyone. Y'all volition have at your fingertips the skills to build a full operating system from code to a running device, whenever you desire. Where you go from there– maybe you'll add a feature, ready a bug, add a translation, or utilise what you've learned to build a new app or port to a new device– or maybe y'all'll never build again– it's all really up to you lot.
What you lot'll need
- A 1 (M8)
- A relatively contempo computer (Linux, Os X, or Windows) with a reasonable amount of RAM and virtually 100 GB of gratuitous storage (more if you enable ccache or build for multiple devices). The less RAM you have, the longer the build will accept (aim for viii GB or more). Using SSDs results in considerably faster build times than traditional hard drives.
- A USB cablevision compatible with the One (M8) (typically micro USB, merely older devices may use mini USB or have a proprietary cablevision)
- A decent cyberspace connection & reliable electricity :)
- Some familiarity with basic Android operation and terminology. It would help if you've installed custom roms on other devices and are familiar with recovery. Information technology may likewise exist useful to know some basic command line concepts such as
cdfor "change directory", the concept of directory hierarchies, that in Linux they are separated past/, etc.
If yous are non accepted to using Linux– this is an excellent chance to learn. It's free– simply download and run a virtual machine (VM) such as Virtualbox, then install a Linux distribution such equally Ubuntu (AOSP vets Ubuntu too). Any contempo 64-scrap version should piece of work great, simply the latest is recommended.
Notation:
You want to employ a 64-bit version of Linux. A 32-scrap Linux surroundings will only work if you are building CyanogenMod vi and older. For CyanogenMod 10.ane, if you lot encounter bug with 64bit host binaries, you can set BUILD_HOST_32bit=1 in your surround. This is more often than not non needed, though, especially with CyanogenMod 10.2 and newer.
Using a VM allows Linux to run every bit a guest inside your host computer– a estimator in a estimator, if you volition. If you hate Linux for whatever reason, you can always just uninstall and delete the whole affair. (There are plenty of places to discover instructions for setting up Virtualbox with Ubuntu, so I'll leave it to you to practice that.)
And so permit'south begin!
Build CyanogenMod and CyanogenMod Recovery
Fix the Build Environment
Notation:
Yous only need to do these steps the first time you build. If y'all previously prepared your build environment and have downloaded the CyanogenMod source lawmaking for another device, skip to Prepare the device-specific code.
Install the SDK
- If you lot have not previously installed adb and fastboot, install the Android SDK. "SDK" stands for Software Developer Kit, and information technology includes useful tools that yous can employ to wink software, look at the system logs in real time, grab screenshots, and more than– all from your reckoner.
Helpful Tip
While the SDK contains lots of different things– the ii tools you are most interested in for building Android are adb and fastboot, located in the /platform-tools directory.
Install the Build Packages
Several "build packages" are needed to build CyanogenMod. You can install these using the package managing director of your choice.
Helpful Tip
A package manager in Linux is a organization used to install or remove software (usually originating from the Internet) on your computer. With Ubuntu, you can use the Ubuntu Software Heart. Fifty-fifty better, you lot may also use the apt-get install control direct in the Terminal. (Learn more than near the apt packaging tool arrangement from Wikipedia.)
For both 32-bit & 64-flake systems, y'all'll need:
bc bison build-essential ringlet flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-vii-jdk pngcrush schedtool squashfs-tools xsltproc zilch zlib1g-dev In addition to the above, for 64-flake systems, get these:
g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev For Ubuntu fifteen.ten (wily) and newer, substitute:
-
lib32readline-gplv2-dev→lib32readline6-dev
For Ubuntu 16.04 (xenial) and newer, substitute (additionally see java notes beneath):
-
libwxgtk2.8-dev→libwxgtk3.0-dev -
openjdk-7-jdk→openjdk-8-jdk
Coffee versions: Different versions of CyanogenMod require different versions of the JDK (Java Development Kit):
- CyanogenMod 7 – 9: Sun/Oracle Coffee SE one.six
- CyanogenMod 10.i: Sun/Oracle Java SE 1.six or 1.7
- CyanogenMod 10.2 – xi.0: Sun/Oracle Coffee SE ane.half dozen or 1.7 (OpenJDK ane.7 works fine, only the build system will display a warning)
- CyanogenMod 12.0 – 13.0: OpenJDK 1.vii (come across notation about OpenJDK 1.8 beneath)
- CyanogenMod fourteen.1: OpenJDK 1.8
Ubuntu 16.04 (Xenial Xerus) or newer and OpenJDK: Since OpenJDK 1.7 was removed from the official Ubuntu repositories, you lot have a couple options:
- Obtain OpenJDK ane.7 from the openjdk-r PPA
- Enable experimental OpenJDK ane.8 support in CyanogenMod 13.0 (not available in earlier version). To enable OpenJDK 1.eight support, add this line to your
$Abode/.bashrcfile:export EXPERIMENTAL_USE_JAVA8=true.
Also see http://source.android.com/source/initializing.html which lists needed packages.
Create the directories
Y'all will demand to prepare upward some directories in your build environment.
To create them:
$ mkdir -p ~/bin $ mkdir -p ~/android/system Install the repo command
Enter the following to download the "repo" binary and go far executable (runnable):
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+ten ~/bin/repo Put the ~/bin directory in your path of execution
In recent versions of Ubuntu, ~/bin should already exist in your PATH. You can check this by opening ~/.profile with a text editor and verifying the following code exists (add it if it is missing):
# set PATH and so it includes user's private bin if it exists if [ -d "$Domicile/bin" ] ; then PATH="$HOME/bin:$PATH" fi Initialize the CyanogenMod source repository
Enter the following to initialize the repository:
- Notation: Make sure the cm co-operative entered here is the i you wish to build and is supported on your device.
$ cd ~/android/system/ $ repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0 Download the source code
To start the download of all the source code to your calculator:
$ repo sync The CM manifests include a sensible default configuration for repo, which we strongly suggest you use (i.due east. don't add together any options to sync). For reference, our default values are -j four and -c. The -j 4 part means that at that place will be 4 simultaneous threads/connections. If you lot experience problems syncing, you lot tin lower this to -j 3 or -j two. -c will ask repo to pull in only the current branch, instead of the unabridged CM history.
Prepare to wait a long fourth dimension while the source lawmaking downloads.
Helpful Tip
The repo sync command is used to update the latest source code from CyanogenMod and Google. Call up information technology, as you can do it every few days to continue your code base of operations fresh and up-to-date.
Go prebuilt apps (CM11 and below)
Adjacent,
$ cd ~/android/system/vendor/cm so enter:
$ ./go-prebuilts Yous won't run across whatever confirmation- simply another prompt. But this should crusade some prebuilt apps to exist loaded and installed into the source code. One time completed, this does not need to be washed again.
Set the device-specific code
Helpful Tip – Errors during breakfast
Different maintainers setup their device inheritance rules differently. Some require a vendor directory to be populated earlier breakfast will even succeed. If you lot receive an error hither about vendor makefiles, then jump downwards to the next section Extract proprietary blobs. The beginning portion of breakfast should have succeeded at pulling in the device tree and the extract blobs script should exist available. After completing that section, you tin rerun breakfast m8
Subsequently the source downloads, ensure you are in the root of the source code (cd ~/android/system), then blazon:
$ source build/envsetup.sh $ breakfast m8 This will download the device specific configuration and kernel source for your device. An alternative to using the breakfast control is to build your ain local manifest. To practise this, you lot will need to locate your device on CyanogenMod's GitHub and listing all of the repositories divers in cm.dependencies in your local manifest.
Helpful Tip
If you desire to know more nearly what source build/envsetup.sh does or simply want to know more about the breakfast, brunch and lunch commands, you can head over to the Envsetup help page.
Helpful Tip
Instead of typing cd ~/android/organization every fourth dimension you want to return dorsum to the root of the source code, here's a short command that will do it for yous: croot. To utilize this command, you must kickoff run source build/envsetup.sh from ~/android/system.
Now ensure that your One (M8) is connected to your figurer via the USB cable and that you lot are in the ~/android/system/device/htc/m8 directory (you can cd ~/android/organization/device/htc/m8 if necessary). Then run the extract-files.sh script:
$ ./extract-files.sh You should see the proprietary files (aka "blobs") get pulled from the device and moved to the ~/android/system/vendor/htc directory. If you meet errors about adb being unable to pull the files, adb may not be in the path of execution. If this is the case, see the adb page for suggestions for dealing with "command not institute" errors.
Note:
Your device should already be running a build of CyanogenMod for the branch you wish to build for the extract-files.sh script to function properly.
Notation:
It's of import that these proprietary files are extracted to the ~/android/system/vendor/htc directory by using the extract-files.sh script. Makefiles are generated at the same time to make sure the blobs are eventually copied to the device. Without these blobs, CyanogenMod may build without mistake, simply yous'll be missing important functionality, such as graphics libraries that enable y'all to come across anything!
Turn on caching to speed up build
You can speed up subsequent builds by calculation
export USE_CCACHE=i to your ~/.bashrc file (what's a .bashrc file?). Then, specify the corporeality of disk infinite to dedicate to ccache by typing this from the top of your Android tree:
prebuilts/misc/linux-x86/ccache/ccache -1000 50G where 50G corresponds to 50GB of cache. This only needs to be run once and the setting will be remembered. Anywhere in the range of 25GB to 100GB will outcome in very noticeably increased build speeds (for instance, a typical 1hr build time tin can exist reduced to 20min). If you're just edifice for 1 device, 25GB-50GB is fine. If you program to build for several devices that do not share the same kernel source, aim for 75GB-100GB. This space will be permanently occupied on your drive, so take this into consideration. See more information about ccache on Google'south android build environment initialization page.
Helpful Tip
If you are a very active developer, working on many other projects than just Android, y'all might prefer to keep your Android ccache independent (because it'south huge and can slow down the efficiency of ccache in your other projects). Beginning with CyanogenMod 12.1, you can specify environment variables for the location and size of CyanogenMod's ccache. Some syntax examples: export ANDROID_CCACHE_DIR="$Abode/android/.ccache" and consign ANDROID_CCACHE_SIZE="50G".
Start the build
Time to start building! Then now type:
$ croot $ brunch m8 The build should begin.
Helpful Tip
If the build doesn't get-go, try luncheon and choose your device from the menu. If that doesn't work, attempt breakfast and choose from the bill of fare. The command make m8 should and then work.
Helpful Tip
A second, bonus tip! If you get a control not plant mistake for croot, brunch, or luncheon, exist sure you've done the source build/envsetup.sh control in this Terminal session from the ~/android/arrangement directory.
Helpful Tip
A third tip! If the build to fails while downloading Gello, you'll need to import a missing certificate into Maven's truststore. Detailed instructions on how to do that can be found here
If the build breaks…
- If you experience this not-plenty-memory-related error…
Error: signapk.jar failed: render code 1make: *** [out/target/product/m8/cm_m8-ota-eng.root.nix] Error i …you may want to brand the following change to ~/android/system/build/tools/releasetools/common.py:
Search for instances of -Xmx2048m (it should appear either under OPTIONS.java_args or nigh usage of signapk.jar), and supervene upon it with -Xmx1024m or -Xmx512m.
Then start the build again (with brunch).
- If you see a message about things suddenly being "killed" for no reason, your (virtual) machine may have run out of retention or storage space. Assign information technology more resource and try again.
Install the build
Assuming the build completed without error (information technology volition be obvious when it finishes), type:
$ cd $OUT in the aforementioned terminal window that yous did the build. Here you'll find all the files that were created. The stuff that will go in /system is in a binder called system. The stuff that will become your ramdisk is in a binder called root. And your kernel is called… kernel.
But that's all just background info. The two files nosotros are interested in are (1) recovery.img, which contains CyanogenMod Recovery, and (2) cm-13.0-20161224-UNOFFICIAL-m8.zip, which is the CyanogenMod installation package.
Installing a custom recovery using fastboot
See All About Recovery Images for more information about custom recoveries and their capabilities.
- Make sure your computer has working fastboot and adb.
- Connect the One (M8) to the computer via USB.
- Brand sure the fastboot binary is in your PATH or that y'all place the recovery image in the same directory every bit fastboot.
- Open up a concluding on your PC and reboot the device into fastboot fashion by typing
-
adb reboot bootloader - or past using the hardware key combination for your device while it is powered off.
-
- One time the device is in fastboot fashion, verify your PC sees the device by typing
-
fastboot devices
- If you don't run across your device series number, and instead see "<waiting for device>", fastboot is not configured properly on your car. See fastboot documentation for more info.
- If y'all run into "no permissionsfastboot", brand certain your UDEV rules are setup correctly.
-
- Wink recovery onto your device by entering the following command:
-
fastboot flash recovery your_recovery_image.img - where the latter role is the filename of the recovery image.
-
- Once the wink completes successfully, reboot the device into recovery to verify the installation.
- Note: Some ROMs overwrite recovery at kicking fourth dimension and then if you practise not program to immediately boot into recovery to install CyanogenMod, please be aware that this may overwrite your custom recovery with the stock one.
Install CyanogenMod
Back to the $OUT directory on your computer– you should see a file that looks something like:
cm-13.0-20161224-UNOFFICIAL-m8.goose egg Annotation:
The in a higher place file name may vary depending on the version of CM you are edifice. Your build may not include a version number or may identify itself as a "KANG" rather than UNOFFICIAL version. Regardless, the file proper name volition finish in .goose egg and should be titled similarly to official builds.
At present you can flash the cm...nil file above as usual via recovery fashion. Before doing then, now is a good time to make a fill-in of whatever installation is currently running on the device in case something goes incorrect with the flash attempt. While CyanogenMod Recovery doesn't take a backup feature, there are other custom recoveries bachelor that do. You can also use something like Titanium Backup (root required) as an alternative.
Success! So….what's adjacent?
You've done it! Welcome to the elite club of self-builders. You've congenital your operating system from scratch, from the ground up. Yous are the master/mistress of your domain… and hopefully you've learned a bit on the way and had some fun too.
Now that you've succeeded in building CyanogenMod for your device, here are some suggestions on what to practise adjacent.
Too, be sure to accept a glance at the Dev Center on this wiki for all kinds of more than detailed data about developer topics ranging from collecting logs, understanding what's in the source lawmaking directories, submitting your own contributions, porting CyanogenMod to new devices, and a lot more.
Congrats once more!
Content of this page is based on informations from wiki.cyanogenmod.org, under CC Past-SA 3.0 licence.
Htc One M8 Official Rom Download,
Source: https://cyanogenmodroms.com/m8/
Posted by: crabtreehanzed1988.blogspot.com

0 Response to "Htc One M8 Official Rom Download"
Post a Comment