Learn about the repo tool , manifests and local manifests and 5 important tips ! - XDA-University

Why this thread? ​
Hello xda-university !
As a newbie ( still remain a big newbie ) , I always had a tough time managing my ROMs and kernel projects.
I blindly followed what guides said .. and then realized how much time and energy I was wasting on downloading unnecessary $#!t from the internet as I have a very limited bandwidth and a particularly slow speed. ( around 80 kbps download speed )
While I am not a pro at this stuff, I would like to share a few tips and tricks about ROM building which will save some of your time , energy, space as well as a lot of the money while returning back to our great community out here.
After all efficiency is what matters in the end right ?
Also , understanding how the process works is more important that the process itself .
For what its worth , even a build bot can compile a ROM.. thats no biggie.
Learning how it works matters more !
Tired of waiting for that repo sync to end ?!!!
READ ON ! ​
Prerequisites / Requirements​
Some rough knowledge on compiling a ROM or experience of compiling a ROM.
Check out this thread ! : COMPILE From Source For Any Phone On Linux Distros [BUILD ENVIRONMENT TO COMPILE] by @mithun46​​
That was just to scare you . Though this will be more useful if you do have that knowledge .
Ok now moving on to the guide :
Google's Repo Tool​
I ll just start off with a basic introduction of
Repository :
Repository is basically like a store room for code. It can be either selfmade i.e. you have yourself contributed it or claim to have written that code .. ( circled in yellow )
Or it can also be forked from someone else ... that is .. it is a version of someone else's code that you have modified a bit and pushed it to the remote server/ website. ( circled in black )
Look at the icons on the left of the name of the repository to know .​
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
There are a variety of websites that offer such free hosting for code for eg : Github.com(which I will be using in this tutorial) and BitBucket.org among others..
Repo tool :
You maybe very familiar with the words repo init , repo sync , etc while downloading source.
Where did that repo command come from ?
Remember this ? :
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
Yep thats where it came from .
So in order to use the repo tool you need to run this command at least once.
What this does is it download the repo tool from Google's source and makes it executable for your own use.​
How does the repo tool work ?
The repo tool is used for downloading a bunch of remote repositories that are on the internet thru one single command :
Code:
repo sync -j4
Details , details and more details
To explain this , I will take an example of a ROM, say AOKP.
For building AOKP you need to download its source code.
AOKP ROM developers have maintained the ROM's source code in a large number of Repositories that are located at www.github.com/AOKP.
What they have done is they have organized their source code into a number of folders for and uploaded it to separate repositories online.
What this does is , it enables all the ROM developers to work on a specific part of the source on their own computers and then push the source online to remote repository online so that he can share the code with all the developers of the same ROM. ( just a basic idea. it involves a lot more including pull requests and code reviews but we will stick with this for now )
Social coding at its best. :highfive:
So during the command :
Code:
repo sync -j4
What is done is the repo tool fetches all the remote repositories that the AOKP ROM devs have deemed necessary for building the ROM for a device through 4 threads.
If you have a slow internet connection then it is advised to use -j1 or -j2.
If you have a fast internet connection then you can use a -j16 or a -j32 whatever suits you the best.
Where does the repo tool take all the reference when downloading ??
The repo tool takes all the reference for the code to be downloaded from a Default.xml or a Manifest.xml.
The manifest.xml is a file which is written in xml markup and directs the repo tool to the repositories and their respective branches that need to be downloaded .
This is basically a huge list of all the repositories that need to be downloaded by the repo tool.​
Where can this list of yours be found ?​
Once you have initialized your repo sync which will be somewhat similar to this :
Code:
[email protected]:~$ mkdir -p kang
[email protected]:~$ cd kang
[email protected]:~/kang$ repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr1
Get https://gerrit.googlesource.com/git-repo
remote: Counting objects: 101, done
remote: Finding sources: 100% (101/101)
Receiving objects: 100% (2526/2526), 1.69 MiB | 67 KiB/s, done.
remote: Total 2526 (delta 1442), reused 2526 (delta 1442)
Resolving deltas: 100% (1442/1442), done.
From https://gerrit.googlesource.com/git-repo
* [new branch] maint -> origin/maint
* [new branch] master -> origin/master
* [new branch] stable -> origin/stable
* [new tag] v1.0 -> v1.0
* [new tag] v1.0.1 -> v1.0.1
* [new tag] v1.0.2 -> v1.0.2
* [new tag] v1.0.3 -> v1.0.3
* [new tag] v1.0.4 -> v1.0.4
* [new tag] v1.0.5 -> v1.0.5
* [new tag] v1.0.6 -> v1.0.6
* [new tag] v1.0.7 -> v1.0.7
* [new tag] v1.0.8 -> v1.0.8
* [new tag] v1.0.9 -> v1.0.9
* [new tag] v1.1 -> v1.1
* [new tag] v1.10.0 -> v1.10.0
* [new tag] v1.10.1 -> v1.10.1
* [new tag] v1.10.2 -> v1.10.2
* [new tag] v1.10.3 -> v1.10.3
* [new tag] v1.10.4 -> v1.10.4
* [new tag] v1.11.0 -> v1.11.0
* [new tag] v1.11.1 -> v1.11.1
* [new tag] v1.12.0 -> v1.12.0
* [new tag] v1.12.1 -> v1.12.1
* [new tag] v1.12.2 -> v1.12.2
* [new tag] v1.2 -> v1.2
* [new tag] v1.3 -> v1.3
* [new tag] v1.3.1 -> v1.3.1
* [new tag] v1.3.2 -> v1.3.2
* [new tag] v1.4 -> v1.4
* [new tag] v1.4.1 -> v1.4.1
* [new tag] v1.4.2 -> v1.4.2
* [new tag] v1.4.3 -> v1.4.3
* [new tag] v1.4.4 -> v1.4.4
* [new tag] v1.5 -> v1.5
* [new tag] v1.5.1 -> v1.5.1
* [new tag] v1.6 -> v1.6
* [new tag] v1.6.1 -> v1.6.1
* [new tag] v1.6.10 -> v1.6.10
* [new tag] v1.6.10.1 -> v1.6.10.1
* [new tag] v1.6.10.2 -> v1.6.10.2
* [new tag] v1.6.2 -> v1.6.2
* [new tag] v1.6.3 -> v1.6.3
* [new tag] v1.6.4 -> v1.6.4
* [new tag] v1.6.5 -> v1.6.5
* [new tag] v1.6.6 -> v1.6.6
* [new tag] v1.6.7 -> v1.6.7
* [new tag] v1.6.7.1 -> v1.6.7.1
* [new tag] v1.6.7.2 -> v1.6.7.2
* [new tag] v1.6.7.3 -> v1.6.7.3
* [new tag] v1.6.7.4 -> v1.6.7.4
* [new tag] v1.6.7.5 -> v1.6.7.5
* [new tag] v1.6.8 -> v1.6.8
* [new tag] v1.6.8.1 -> v1.6.8.1
* [new tag] v1.6.8.10 -> v1.6.8.10
* [new tag] v1.6.8.11 -> v1.6.8.11
* [new tag] v1.6.8.2 -> v1.6.8.2
* [new tag] v1.6.8.3 -> v1.6.8.3
* [new tag] v1.6.8.4 -> v1.6.8.4
* [new tag] v1.6.8.5 -> v1.6.8.5
* [new tag] v1.6.8.6 -> v1.6.8.6
* [new tag] v1.6.8.7 -> v1.6.8.7
* [new tag] v1.6.8.8 -> v1.6.8.8
* [new tag] v1.6.8.9 -> v1.6.8.9
* [new tag] v1.6.9 -> v1.6.9
* [new tag] v1.6.9.1 -> v1.6.9.1
* [new tag] v1.6.9.2 -> v1.6.9.2
* [new tag] v1.6.9.3 -> v1.6.9.3
* [new tag] v1.6.9.4 -> v1.6.9.4
* [new tag] v1.6.9.5 -> v1.6.9.5
* [new tag] v1.6.9.6 -> v1.6.9.6
* [new tag] v1.6.9.7 -> v1.6.9.7
* [new tag] v1.6.9.8 -> v1.6.9.8
* [new tag] v1.7 -> v1.7
* [new tag] v1.7.1 -> v1.7.1
* [new tag] v1.7.2 -> v1.7.2
* [new tag] v1.7.3 -> v1.7.3
* [new tag] v1.7.3.1 -> v1.7.3.1
* [new tag] v1.7.4 -> v1.7.4
* [new tag] v1.7.4.1 -> v1.7.4.1
* [new tag] v1.7.4.2 -> v1.7.4.2
* [new tag] v1.7.4.3 -> v1.7.4.3
* [new tag] v1.7.5 -> v1.7.5
* [new tag] v1.7.6 -> v1.7.6
* [new tag] v1.7.6.1 -> v1.7.6.1
* [new tag] v1.7.7 -> v1.7.7
* [new tag] v1.7.7.1 -> v1.7.7.1
* [new tag] v1.7.7.2 -> v1.7.7.2
* [new tag] v1.7.7.3 -> v1.7.7.3
* [new tag] v1.7.7.4 -> v1.7.7.4
* [new tag] v1.7.7.5 -> v1.7.7.5
* [new tag] v1.7.7.6 -> v1.7.7.6
* [new tag] v1.7.8 -> v1.7.8
* [new tag] v1.7.8.1 -> v1.7.8.1
* [new tag] v1.7.8.2 -> v1.7.8.2
* [new tag] v1.8.0 -> v1.8.0
* [new tag] v1.8.1 -> v1.8.1
* [new tag] v1.8.2 -> v1.8.2
* [new tag] v1.9.0 -> v1.9.0
* [new tag] v1.9.1 -> v1.9.1
* [new tag] v1.9.2 -> v1.9.2
* [new tag] v1.9.3 -> v1.9.3
* [new tag] v1.9.4 -> v1.9.4
* [new tag] v1.9.5 -> v1.9.5
* [new tag] v1.9.6 -> v1.9.6
Get https://github.com/AOKP/platform_manifest.git
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.
remote: Counting objects: 1722, done.
remote: Compressing objects: 100% (1012/1012), done.
remote: Total 1722 (delta 839), reused 1552 (delta 709)
Receiving objects: 100% (1722/1722), 249.52 KiB | 50 KiB/s, done.
Resolving deltas: 100% (839/839), done.
From https://github.com/AOKP/platform_manifest
* [new branch] ics -> origin/ics
* [new branch] jb -> origin/jb
* [new branch] jb-mr1 -> origin/jb-mr1
* [new tag] Build-2 -> Build-2
* [new tag] Build-3 -> Build-3
* [new tag] Build-4 -> Build-4
* [new tag] Build-5 -> Build-5
* [new tag] Milestone-1 -> Milestone-1
* [new tag] jb-mr1_build-1 -> jb-mr1_build-1
* [new tag] jb-mr1_build-4 -> jb-mr1_build-4
* [new tag] jb-mr1_build-6 -> jb-mr1_build-6
* [new tag] jb-mr1_milestone-1 -> jb-mr1_milestone-1
Your identity is: akshatshenoy <[email protected]>
If you want to change this, please re-run 'repo init' with --config-name
repo has been initialized in /home/akshat/kang
So I have to go to : the /kang folder in my home directory and open the .repo file. Which will look somewhat like the following images :
Important tip ! : While browsing through files in a directory , to view hidden files press control + H and to view the exact directory of the folder which you are browsing through press control + L ..
Opening this file with a text editor will tell you the list of the repos that need to be downloaded by the repo tool :
For AOKP JB-MR1 it will look somewhat like this
Now just a flashback to the original repo init command we had applied earlier
Code:
[email protected]:~/kang$ repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr1
When the repo init command is carried out , the repo tool grabs the default.xml / manifest.xml from AOKP's github which is mentioned in the init command :
https://github.com/AOKP/platform_manifest.git
Click to expand...
Click to collapse
So open up a web-browser and navigate to that page and you will realize that it is the same manifest.xml that is present in the .repo of the source directory where you have performed a repo init at.
Now when we repo sync ,
the repo tool downloads each repo as a specific project as shown in the picture : (highlighted)
So, basically, there are 415 projects to be synced in order to build AOKP that has been defined in the manifest.xml
Once those 415 projects have been downloaded , they will be stored in the .repo and a copy of it will be synced as a work-tree .
This work-tree comprises of the files and folders that appear automagically once the repo sync is done with all 415 projects synced !
It is that part of the source code which you actually work on and make your device specific changes to !​
Understanding the manifest :​
1) The remote tag :
syntax :
Code:
<remote name=" any name here "
fetch="url of the remote website/hosting/server "
review="url of the code review of the repo :optional: " />
This tag just specifies a " remote " location for the repo tool to get your repositories from . This allows you to then associate a particular repository with that remote.
examples of remotes :
Code:
<remote name="github"
fetch="https://github.com/" />
<remote name="bitbucket" fetch="https://bitbucket.org"/>
<remote name="aokp"
fetch="https://github.com/"
review="gerrit.aokp.co" />
This allows you to use multiple code hosting sites , private or public and thereby enabling a trouble-free maintenance of your team's source code.
Now like the remote is specified , you can base you're manifest at a particular remote and define it as your default remote.
The advantages of this will be seen in (2) and (3) during the adding of the project tags to the manifest.xml
The syntax of the default remote is as follows :
Code:
<remote name=" any name here "
fetch="url of the remote website/hosting/server "
review="url of the code review of the repo :optional: " />
<default revision="any/path/here"
remote="remote hosting name defined earlier"
sync-j="x" />
where x is the default number of threads to be used when it is not defined in the repo sync command.
best example of a default revision that is widely used in almost every ROM default.xml is
Code:
<remote name="aosp"
fetch="https://android.googlesource.com/"
review="https://android-review.googlesource.com/" />
<default revision="refs/tags/android-4.2.2_r1.2"
remote="aosp"
sync-j="4" />
2) The base projects
As explained earlier the projects refer to the repositories that have to be fetched by the repo tool.
The 2) tag in the picture above is used to download the repository from your default remote's server.
The basic syntax of it is :
Code:
<project path=" path/in/work/tree" name="/repo/name/in/your/default" />
Examples :
Code:
<project path="abi/cpp" name="platform/abi/cpp" />
<project path="bootable/diskinstaller" name="platform/bootable/diskinstaller" />
This downloads those particular repos from the actual android source .
It is advisable to use this particular tag from the remote you will download the most number of repositories from as it cuts down on the effort of editing the manifest.xml
Many ROMs use the AOSP as the base as it is easier for them to keep their source code upto date without wasting their bandwidth on uploading the same repositories to their own gits .​
3) The other projects
This is for the non default remote projects
Their general syntax is :
Code:
<project path=" directory in work tree" name="name of the repository in remote" remote="name of remote defined earlier" revision="branch of the repository" />
NOTE : Default revision is master. So if you dont define the revision it is considered as the master branch!
Examples for this are :
Code:
<project path="bootable/recovery" name="CyanogenMod/android_bootable_recovery" remote="cm" revision="cm-10.1" />
For this of course the earlier remote "cm" should be mentioned.​
Quick tip ! ​Indirectly , the total url path to the repository should be = the fetched URL of the remote + the name of the repo in the project line.
In this case
Code:
https://github.com/ && CyanogenMod/android_bootable_recovery
in total :
https://github.com/CyanogenMod/android_bootable_recovery
For the sole purpose of making the life of a developer easier , CyanogenMod / AOKP and almost all other ROMs named their own repositories as
Code:
android_path_to_directory_in_work_tree || path_to_directory_in_work_tree
Such as :
If you notice the name of the repository : vendor_aokp corresponds to the aokp folder in the source folder in my source.
Thus the name of the repository gives you the path to the same files in your repository.
So much win ! :highfive:​
Maintaining your own projects using manifest.xml​
Now that you have understood how the manifest.xml works .. you can even maintain your own projects with the help of a manifest.xml ! it is not necessary it has to be used only for ROMs !
Thats the best bit !
So the next time you have to pull a large number of repositories and maintain them you can create your own default manifest in your own github and add the repos as mentioned above.
Example I use sometimes :
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="red-devil"
fetch="https://github.com/red-devil" />
<project path="Cherrypicking/frameworks/base" name="AeonROM/android_frameworks_base" remote="red-devil" revision="master" />
<project path="Cherrypicking/frameworks/native" name="AeonROM/android_frameworks_native" remote="red-devil" revision="master" />
<project path="Cherrypicking/frameworks/av" name="AeonROM/android_frameworks_av" remote="red-devil" revision="master" />
</manifest>
Understanding local manifests :​
What is the local_manifest.xml ?
A local manifest is like a specific copy of the manifest of a particular ROM that is maintained by YOU the ROM compiler in your own computer.
This local manifest allows you to override some of the projects mentioned in the manifest and hence allows you to delete / add / modify the source code according to your preferences.
Best part about this is that every time you sync your source , even the onces mentioned in the local manifest get updated by themselves.
Hence, you dont need to keep track of all your device trees and kernel sources manually, let the repo tool do the work for you.
Let us see how this wonderful tool works :
Go to the folder where you have inited the repo and open the .repo ( press ctrl + H if it is NOT visible ).
Create a folder named local_manifests
Download this View attachment local_manifest.txt and rename it to local_manifest.xml and copy it in the / .repo / local_manifests / directory
NOTE : In some older ROMs where an older version of the repo tool is used the local manifests has to be placed like
As opposed to a folder named local_manifests as illustrated in the above pictures ​
Functions of the local manifest : ​
The local manifest looks somewhat similar to the main manifest.xml ... however in this you can even remove projects or add them
> To remove projects the basic syntax is :
Code:
<remove-project name="name of the project" />
What to remove :
Consider my case
I am building AOKP JB-MR1 for the HTC Explorer.
As a result of that I do not need the various device trees that are officially supported by AOKP.
Such all these :
So why do I waste my data and time downloading those ?
I think I should modify the default.xml / manifest.xml .
NO !​
Beware ! If you try to edit the default.xml / manifest.xml the git will tell you to commit these changes as they do NOT match with the online / and the synced version of the default.xml that you have originally initializeed with.
So this means you will either have to commit those changes , push it to github and update the default.xml
This is not possible unless you are a device maintainer for a ROM and even if you are such drastic changes mean it can affect the other users of the same default.xml . So chances are you can never bring about a change in the default.xml.
So dont even think about editing the default.xml :silly:
Click to expand...
Click to collapse
OR
You will have to revert back to the original default.xml that you was present in your .repo and create a local_manifest.xml and remove projects / add them .
How do I do that ?
Basic syntax for removing them is :
Code:
<remove-project name="name_of_project" />
As shown in the image since I dont need those projects the syntax will be somewhat like :
Code:
<remove-project name="AOKP/device_samsung_d2att" />
<remove-project name="AOKP/device_samsung_d2tmo" />
For removing the 1st two projects as shown in the picture above
In a similar way , I went on removing projects that were not required... only device trees and saved the local_manifests.xml
Remember when I earlier synced there were 415 projects ?
Look at it now .. slimmed down around 50 projects !
That means a much quicker repo sync for me ! ​
> How to add projects to get it synced :
To add projects just use the code like I explained in the manifests.xml
Basic syntax is :
Code:
<remote name=" any name here "
fetch="url of the remote website/hosting/server "
review="url of the code review of the repo :optional: " />
<project path=" directory in work tree" name="name of the repository in remote" remote="name of remote defined earlier" revision="branch
of the repository" />
EG :
I wanted to add my own device tree of AOKP and the kernel source for my device in the local manifests cause I am too lazy to manually download them :silly:
Code:
<project path="device/htc/pico" name="android_device_htc_pico_aokp" remote="red-devil" revision="master"/>
<project path="kernel/htc/pico" name="android_kernel_htc_pico" remote="red-devil" revision="cm-10.1" />
So ultimately this is the sample local_manifest.xml I used :
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="red-devil"
fetch="https://github.com/red-devil/" />
<project path="device/htc/pico" name="android_device_htc_pico_aokp" remote="red-devil" revision="master"/>
<project path="kernel/htc/pico" name="android_kernel_htc_pico" remote="red-devil" revision="cm-10.1" />
<remove-project name="AOKP/device_acer_a510" />
<remove-project name="AOKP/device_asus_tilapia" />
<remove-project name="AOKP/device_htc_evita" />
<remove-project name="AOKP/device_htc_s4-common" />
<remove-project name="AOKP/device_lge_iprj-common" />
<remove-project name="AOKP/device_lge_mako" />
<remove-project name="AOKP/device_lge_p930" />
<remove-project name="AOKP/device_lge_su640" />
<remove-project name="AOKP/device_lge_vs920" />
<remove-project name="AOKP/device_motorola_maserati" />
<remove-project name="AOKP/device_motorola_omap4-common" />
<remove-project name="AOKP/device_motorola_solana" />
<remove-project name="AOKP/device_motorola_spyder" />
<remove-project name="AOKP/device_motorola_targa" />
<remove-project name="AOKP/device_motorola_umts_spyder" />
<remove-project name="AOKP/device_samsung_aries-common" />
<remove-project name="AOKP/device_samsung_d2-common" />
<remove-project name="AOKP/device_samsung_celox-common" />
<remove-project name="AOKP/device_samsung_d2att" />
<remove-project name="AOKP/device_samsung_d2tmo" />
<remove-project name="AOKP/device_samsung_d2usc" />
<remove-project name="AOKP/device_samsung_d2vzw" />
<remove-project name="AOKP/device_samsung_galaxys2-common" />
<remove-project name="AOKP/device_samsung_hercules" />
<remove-project name="AOKP/device_samsung_i605" />
<remove-project name="AOKP/device_samsung_i9100" />
<remove-project name="AOKP/device_samsung_i9100g" />
<remove-project name="AOKP/device_samsung_i9300" />
<remove-project name="AOKP/device_samsung_l900" />
<remove-project name="AOKP/device_samsung_maguro" />
<remove-project name="AOKP/device_samsung_manta" />
<remove-project name="AOKP/device_samsung_msm8660-common" />
<remove-project name="AOKP/device_samsung_msm8960-common" />
<remove-project name="CyanogenMod/android_device_samsung_omap4-common" />
<remove-project name="AOKP/device_samsung_smdk4412-common" />
<remove-project name="CyanogenMod/android_device_samsung_smdk4412-qcom-common" />
<remove-project name="AOKP/device_samsung_t0lte" />
<remove-project name="AOKP/device_samsung_t0lteatt" />
<remove-project name="AOKP/device_samsung_t0ltetmo" />
<remove-project name="AOKP/device_samsung_toro" />
<remove-project name="AOKP/device_samsung_toroplus" />
<remove-project name="AOKP/device_samsung_tuna" />
<remove-project name="AOKP/device_samsung_vibrantmtd" />
<remove-project name="AOKP/device_sony_hayabusa" />
<remove-project name="AOKP/device_sony_mint" />
<remove-project name="AOKP/device_sony_odin" />
<remove-project name="AOKP/device_sony_tsubasa" />
<remove-project name="AOKP/device_sony_yuga" />
<remove-project name="AOKP/device_sony_blue-common" />
<remove-project name="AOKP/device_sony_fusion3-common" />
<remove-project name="CyanogenMod/android_device_sony_qcom-common" />
<remove-project name="AOKP/device_sony_common" />
<remove-project name="AOKP/packages_apps_Torch" />
</manifest>
Result of this : the number of projects being downloaded reduced from 415 to 364 !
So , I hope you guys understood at least a bit about manifests and how the repo sync process actually works..​
Read on for some tips !

Some miscellaneous tips : ​
Tip # 1 : What all can I remove using local manifests ? ​
Since we just learnt about the local_manifests, I thought I'd just explain this first !
Note : What I refer to as remove from manifest is actually removing using local manifest.
If you don't know what that is yet then read the the 1st post !
The following repos are what you can remove :
Remove official device trees if you are not planning to build for them :
What this includes :
Code:
android_device_htc_codename
android_device_sony_codename
android_device_samsung_codename
If you don't own an HTC device you don't need any of their repos ! Same goes with Sony , Samsung and all other manufacturers.
Note: Do NOT delete generic repos like android_device_common etc.
If you own a samsung/sony/htc/blah device DO NOT Remove their common/ generic repos using the local manifest !
Also download a few sample device trees which are similar to your device so that you can reference the way the device trees are while compiling your unofficial ROM.
This process is called " KangBang"-ing.
Remove all kernel source repos that you do not need !
Remove all projects named :
Code:
android_kernel_oem_codename
kernel_oem_codename
or similar !
If you don't plan on building for that device , Why do you need its kernel source code !
And most of these sources are HUGE !:crying:
Remove all the unnecessary packages that are present in the manifest; for example if your phone does not have flash, there is no point downloading the torch.apk.. so might as well remove that from manifest
This includes many packages like CDMA specific packages for a GSM phone , torch , flashlight packages for a phone that doesnt have flash , unnecessary live wallpapers , and many more stuff.
If your phone's ROM is less you can also remove many packages from syncing itself instead of removing them from the build !
Saves a lot of bandwidth as well as time !
Mostly all these packages have project names similar to :
Code:
android_packages_apps_appname
packages_apps_appname
android_packages_wallpapers_wallpapername
and so on.
Remove all unnecessary vendor trees from the manifest.. Why do you need the blobs for a device you are not building for !!
Remove all device specific vendor packages that include the blobs of the device.
Eg:
Code:
android_vendor_oem_codename_proprietary
Use your common sense to remove these repos.
Nexus devices use the blobs from TheMuppets.. so if you are not building for a Nexus then remove those for example !
Remove all the darwin tool chains, and other darwin packages from the manifest if you are not building from a mac.
Remove all of these toolchains if you are NOT building on a macintosh :
Code:
<project path="prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6" name="platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6" groups="pdk,darwin,arm" />
<project path="prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6" name="platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6" groups="pdk,darwin,arm" />
<project path="prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6" name="platform/prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6" groups="pdk,darwin,mips" />
<project path="prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6" name="platform/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6" groups="pdk,darwin,x86" />
Other packages may vary according to the ROM source you are syncing.
Remove all unnecessary repos that may not be needed.. for eg exynos specific hardware packages if your building for a qcom device!
What I said .. or in some cases like my phone the HTC Explorer, uses display-legacy from Qcom instead of the default one..
So I just remove all the display specific packages that are not needed from manifest.
Caution ! I am not mentioning examples as this may even break your build if you DON'T know what you're doing! So be careful and use your common sense !
Tip # 2 : Use the reference flag before you initialize a repo !​
The repo tool is somewhat of a blessing for android ROM developers.
There is a certain flag called as a Reference flag that can be used before you repo sync while initializing a repo.
This flag has a basic syntax as follows :
Code:
repo init --reference=~/root/of/already/downloaded/source -u git://url.com/ROM.git -b branch
Consider the following scenario:
I have already downloaded the CyanogenMod 10.1 source mechanically as many guides state :
Code:
repo init -u git//www.github.com/CyanogenMod/android.git -b cm-10.1
repo sync -j4
and this is what I ended up with
So , now I have compiled CyanogenMod and I am bored of it. Want to get hands on a new ROM, say AOKP.
So now another 15 GB of bandwidth for this ?!
NO !​
I will use the reference flag!
Click to expand...
Click to collapse
as follows :
How does this work ?
What the repo tool does it checks the locally downloaded source and skips downloading that it Symlinks the code from the existing source to the new source.
Cool tool isn't it ?
This and local_manifests cut down a majority of the download time during repo sync !
Some more help with the Reference flag errors !
http://forum.xda-developers.com/showpost.php?p=49365049&postcount=112 - By thewisenerd ​
Tip # 3 : Use CCACHE while compiling​
CCACHE : that is also known as compiler cache is another trusted friend of the ROM / Kernel developers.
It cuts down a lot of the time required for compilation.
How to use ccache :
1) Open a terminal ( cntrl + alt + t )
2) Enter gedit .bashrc
3) Add the following code :
For Jellybean :
Code:
export USE_CCACHE=1
[COLOR="Red"]export CCACHE_DIR=/source-directory/prebuilts/misc/linux-x86/ccache[/COLOR]
and for ICS and older
Code:
export USE_CCACHE=1
[COLOR="DarkOrange"]export CCACHE_DIR=/source-directory/prebuilt/linux-x86/ccache/ccache[/COLOR]
Once that is done just type in this command while you are in youre source directory
Code:
prebuilts/misc/linux-x86/ccache/ccache -M 50G
ICS and lower change it accordingly.
50 G ---> 50 GB of ccache..
Ideal values range for 50-100 GB.
Though if you want you can set it to around 40 GB
How does ccache work ?
Well , in short , what it does is that for C and C++ programs it caches the output. One it detects that the program is getting repeated it directly sends out the output and thus reduces the time of compilation.
After using ccache you will really feel the difference in the compilation speeds of your ROMs and kernels .
​
Tip # 4 : Use a custom toolchain ​
Try to use toolchains like linaro toolchains for compiling your ROMs and kernels.
For me personally it made a lot of difference in the performance of the ROM compiled. Nearly a 20-30 % increase in the performance.
Where can I get these toolchains ?
This is the link to download linaro's toolchains. HERE.
Get the latest one from the android section.
How to setup the toolchain?
Just extract the toolchain in a directory similar to the one I have mentioned in the picture
and edit these 2 lines in the envsetup.sh
To compile the inline kernel using a custom toolchain :
Place your toolchain in the ~source~/prebuilt/linux-x86/toolchains/
and in your device tree edit the BoardConfig.mk for eg :
In addition to this, you may need some device specific patches too. That maybe you will be able to find out in your device specific forums.
​
Tip # 5 Cherry-picking ​
So here's the scenario.
I have built a ROM and simeltaneously CyanogenMod development is taking place and their developer is fixing some bugs that are present in the device tree of the ROM.
He has implemented some changes that might help me fix stuff in my device tree thereby improving my ROM .
So what do I do ?
Manually apply those commits ?
There is a better way than that. Manually applying commits may result in a few human errors in your source code and thereby may cause some unwanted errors. So why not apply the CyanogenMod dev's commits itself! :silly:
To do this, we use a git feature called cherry-picking.
How to cherry pick commits :
First change your directory to the directory in which you want to apply the commits in.
I will take an example of my phone's device tree.
Code:
cd device/htc/pico
The best thing is to initialize an empty git and pull your own repo from here.
This allows you to push your changes to your github so that you can track your changes effectively.
If you dont have a repo on your github then push one right away or fork someone else and do :
So I do this :
Code:
git init
git pull [email protected]:red-devil/android_device_htc_pico_aokp.git
Once that is done , I just make sure everything is committed and local device tree matches the device tree online at my github.
then I pull all the commits from the CyanogenMod maintainer's github.
Basic syntax for this is :
Code:
git remote add somename git://github.com/user/repo.git
git fetch somename
So what I do is :
Code:
git remote add cyanogenpico [email protected]:TeamPico/android_device_htc_pico.git
git fetch cyanogenpico
Now just check using the git log function wheter the last commit shown is the last commit on YOUR repository on github.
In this case the last commit at [email protected]:red-devil/android_device_htc_pico_aokp.git should match the last commit on the git log of my local source.
This just ensures that you are going right at least up till now.
Now start the cherry picking.
The syntax is
Code:
git cherry-pick <sha-of-commit>
So what I do is :
Code:
git cherry-pick aa39fd899e321395f3c08c9a7f606ac458bbbd1b
and grab that commit.
If that is done smoothly
The terminal will start a new line automatically
and you can do this :
Code:
git push git-ssh
in my case
Code:
git push [email protected]:red-devil/android_device_htc_pico_aokp.git
If something goes wrong.
it may look something like this
Code:
[email protected]:/media/akshat/HD/android/kang/device/htc/pico$ git cherry-pick aa39fd899e321395f3c08c9a7f606ac458bbbd1b
error: could not apply aa39fd8... cut out debugging
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
This means that there are some lines in a file that this particular commit is looking for which are not present, thus it shows that the git has added / modified a few lines to apply that commit.
It marks those changes as uncommitted and thus it wont allow you to push those changes.
To make it push-able.. you can do a
Code:
git status
Check which files have changed.
Then
manually edit and logically correct those changes .
That for you is hacking my friends.
See this image for an example of how a bad head looks like
This is how I corrected the changes..
after this is done.
Code:
git add .
git commit -m " name of commit "
git push url.git
Important Note :
For this case I just had to remove the head and the settings worked after that..
This may NOT be the case with your repo.
Overlapping commits sometimes may break the build .
So you need to logically remove the bad heads and also ensure the package/code isn't damaged during the process !
Check out Commits from ROMs like PAC , RootBox , ReVolt etc to know how exactly to cherry-pick stuff and take reference from them to make your code work.
​
Still got some doubts ?​
Ask on the thread, not via pm. This ensures everyone is cleared of the doubt. ​
Got a compilation error ?​
Head over here for some more help :
[HELP/Q&A][SourceBuilding,AllDevices] The Source Building Q&A Help Thread by @[COLOR="Green"][I][B]speed_bot[/B][/I][/COLOR]​
Finally the last bit
This guide had featured on the portal : Article : http://www.xda-developers.com/android/guide-on-using-the-repo-tool/[/COLOR]
This guide has also been mentioned in the official Omni Wiki : http://docs.omnirom.org/Setting_Up_A_Compile_Environment ​​
The Credits​
I would like to thank @speed_bot and @legen_dary , @Nihar.G among others who solved cleared my doubts whenever I asked them anything silly.
You guys for reading this whole piece and xda-developers for the platform.
Always remain a newbie and NOT a noob.
Know the difference.​

<reserved for the future>

Very very well written! :good:
Good work. Keep it up!

Great work sir!
Bookmarked it,soon gonna need it
Thanks

Very well done. Thanks for sharing

Great guide ...
Really need this.
Sent from my GT-S7562 using Tapatalk 4 Beta

yeah good guide now my mind is much more clearer than before

Thanks you so much!

Good job!!!

Just done with guide .. hope you guys like it .
Thanks for the feedback guys.

Just gonna give it a tiny bump.
Disappointing really, when no one seems interested.

Red Devil said:
Just gonna give it a tiny bump.
Disappointing really, when no one seems interested.
Click to expand...
Click to collapse
It really is a good job.If no one is interested, its their loss-not yours.
It was quite useful [Upto what I read]-wish I could get my hands on these things someday
Thanks for a good thread though !!

BANNED said:
It really is a good job.If no one is interested, its their loss-not yours.
Click to expand...
Click to collapse
Thanks man.
That made my day.

This should make its way to the portal. Best guide for git. A best of luck from me to all young developers
Sent from my Xperia Mini using Tapatalk 4 Beta

mithun46 said:
This should make its way to the portal. Best guide for git. A best of luck from me to all young developers
Sent from my Xperia Mini using Tapatalk 4 Beta
Click to expand...
Click to collapse
And updated the thread a bit more.
Ironed out a few typos and errors.

Very illustrated guide.
Btw, I once wrote an article called "Repo Tips & Tricks" for the XDA-University http://xda-university.com/as-a-developer/repo-tips-tricks

congo @Red Devil for getting featured on the portal. You deserved it

Awesome guide and a saviour for many newbie. That tip regarding switching from one ROM repo to another to save bandwidth is a killer. Never knew such a thing exists while always thinking something like that should be there. Many thanks to the OP for sharing this with us.
Sent from my Nexus 4 using Tapatalk 2

Thanks sir,
I have to say awesome guide and useful information. :good:

Related

[ROM][SNAPSHOT][6.0.1] CyanogenMod 13.0 for Xperia SP

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
About CyanogenMod
CyanogenMod is a free, community built, aftermarket firmware distribution of Android 6.0 (Marshmallow),
which is designed to increase performance and reliability over stock Android for your device.
All the source code for CyanogenMod is available in the CyanogenMod GitHub repo.
And if you would like to contribute to CyanogenMod, please visit our Gerrit Code Review.
Official CyanogenMod 13 Release post : http://www.cyanogenmod.org/blog/cm-13-0-release-1
Huashan CyanogenMod Wiki : https://wiki.cyanogenmod.org/w/Huashan_Info​
Downloads Links
CyanogenMod 13.0 (Unlocked Bootloader) :
Xperia SP (Huashan) : https://mega.nz/#F!u4lSxaQY!0QDM3KKR3iKp5dY72OROLw
Google Applications (optional) :
OpenGapps : http://opengapps.org/ (Use packages for ARM, Android 6.0, Micro or Pico)
Information : Flash the GApps before the first boot. If not, a clean flash is recommended.
Recommended Recovery (optional) :
TWRP 3.0 : http://forum.xda-developers.com/xpe...t/recovery-twrp-3-0-0-touch-recovery-t3309938
Useful alternatives to CM Updater (with Deltas) : CM Downloader on Play Store
About CyanogenMod : ChangeLog available on http://www.cmxlog.com/13/huashan/​
Flashing and updating
CyanogenMod clean install :
- (Optional) Flash the boot.img kernel from the ROM zip with Fastboot or Flashtool
- (Optional) Wipe the data & cache (Backup to make sure not to loose data)
- Flash the CyanogenMod 13.0 ROM zip from the Recovery
- (Optional) Flash the GApps to have the Google Applications
- (Optional) Every additional zip you want to flash
- Reboot
CyanogenMod update / upgrade :
- (Information) Don't wipe anything unless you want to
- (BETA / UNOFFICIAL) Nothing to wipe when switching
- Flash the latest CyanogenMod 13.0 ROM zip from the Recovery
- (Optional) Flash the GApps on first install / upgrade. Not required later, but do update sometimes
- (Optional) Every additional zip you want to flash
- Reboot
CyanogenMod day-to-day updates :
- (Information) Don't wipe anything unless you want to
- (Information) Being Nightlies, try to have a safe backup once a month
- Update to latest Nightly using CM Updater or CM Downloader (link above)
- Reboot​
About the builds
Device tree : https://github.com/CyanogenMod/android_device_sony_huashan/commits/cm-13.0
Kernel sources : https://github.com/CyanogenMod/android_kernel_sony_msm8960t/commits/cm-13.0
Vendor blobs : https://github.com/TheMuppets/proprietary_vendor_sony/commits/cm-13.0​
Issues and reports
- Report issues only if you use the ROM kernel
- If an additional mod is installed, make sure it's unrelated, and mention it
- Make sure the issue wasn't discussed earlier in the threads
- Share a log of the error with CatLog for example​
Q&A - FAQ
CM-13.0 Huashan Regular Questions and Answers : Q&A Thread
About CM-13.0 : https://en.wikipedia.org/wiki/CyanogenMod
The CyanogenMod team would like to thank everyone involved
in helping with testing, coding, debugging & documenting! Enjoy!​
CyanogenMod available for Huashan also thanks to :
- The CyanogenMod Team
- Mrcl1450 (Marcelo)
- uberlaggydarwin (Brinly)
- Everyone involved in working and testing​
XDA:DevDB Information
CyanogenMod 13.0, ROM for the Sony Xperia SP
Contributors
Adrian DC
ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.4.x
Based On: CyanogenMod
Version Information
Status: Snapshot
Current Stable Version: 20161220-SNAPSHOT
Current Beta Version: UNOFFICIAL
Created 2016-03-29
Last Updated 2017-03-20
Reserved
FEATURES AND ISSUES
Code:
- Boot : Ok
- GApps : OpenGApps Micro Ok
- Dual Recovery : Ok (see below)
- WiFi : Ok (real SONY MAC address)
- Bluetooth : Ok (real SONY MAC address)
- WiFi Hotspot : Ok (2.4GHz and 5GHz)
- RIL - Phone - Data : Ok
- GPS : Ok
- Camera : Ok
- Camcorder : Ok
- MicroSD : Ok
- Accelerometer : Ok
- Compass : Ok
- Gyroscope : Ok
- AOSP sensors : Ok
- FM Radio : Ok
- Vibrator : Ok
- Microphone : Ok
- Audio & external audio : Ok
- Bluetooth audio : Ok
- NFC : Ok
- Kernel : Ok, Updating frequently
- Graphics : Ok
- 3D Rendering : Ok
- Clock : Ok (RTC real hardware clock, in TWRP recovery too)
- Powered-off alarm : Ok
- Offline Charging : Ok
- Encryption : Status unknown
- SEPolicies : Fully enforced
IMPORTANT FEATURES TO KNOW
Boot sequence : Once the LEDs light up :
- Press Volume - to open CyanogenRecovery,
- Press Volume + to open the FOTA recovery (TWRP usually) if available
Powered-off alarm : When you have set an alarm
- If you power down the device, it will wake automatically 5 minutes before
- If you let the device charge offline, it will automatically reboot 5 minutes before
Gestures : Events like hand-wave and pocket removal can be enabled in the Settings
Force reboot : You can reset the device by holding Power and Volume+ 5 seconds
Reserved
About my CyanogenMod 13.0 Addons packages
Calculator : Replaces the new ExactCalculator with the unmaintained Calculator (more features)
Camera2 : Add the AOSP camera application, Snap Camera being the default app
QuickBoot (unstable) : Add the hibernation feature to the developer settings
Current status of the ROM Builds
Nightlies : Daily. Contain latest common changes and everything I consider stable.
Beta : When needed. Newest changes to test, full builds or kernels / packages to flash on Nightlies.
Current local manifest of the ROM build
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!-- https://github.com/CyanogenMod/android -->
<manifest>
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="CyanogenMod/android_device_sony_common" path="device/sony/common" remote="github" />
<project name="CyanogenMod/android_external_stlport" path="external/stlport" remote="github" />
<project name="CyanogenMod/android_hardware_sony_DASH" path="hardware/sony/DASH" remote="github" />
<project name="CyanogenMod/android_hardware_sony_thermanager" path="hardware/sony/thermanager" remote="github" />
<project name="CyanogenMod/android_device_sony_huashan" path="device/sony/huashan" remote="github" />
<project name="CyanogenMod/android_kernel_sony_msm8960t" path="kernel/sony/msm8960t" remote="github" />
<project name="TheMuppets/proprietary_vendor_sony" path="vendor/sony" remote="github" />
</manifest>
No problem after a week (cm13+Helium5)
Any news about FM Transmitter?
Sent from my Xperia SP
Uograde from CM12.1 and booting works for me, but as soon as the gui starts up, com.android.phone keeps crashing, no Sim detected and the system is sluggish as hell. Sms are not imported. I will provide a log tomorrow or so.
Edit: fixed it using google.
I deleted /data/data/com.providers.telephony/databases/telephony.db,{-journal} if I remember correctly. Now my sim works, SMS are imported properly and the system is very smooth.
Can I use open gapps aroma with this version?
Sent from my Xperia SP using Tapatalk
Gaming performance are not soo great as unofficial sabermod build. I hope this ROM will have same performance too
Is there a way to turn off mock location? somehow it's turned on by default in marshmallow and I can't use Ingress app
Why there's no option in settings to set quick unlock after entering pin, just like itvwas on cm 12.1?
wuarx said:
Why there's no option in settings to set quick unlock after entering pin, just like itvwas on cm 12.1?
Click to expand...
Click to collapse
This doesn't seem to be a device related issue.
wuarx said:
Why there's no option in settings to set quick unlock after entering pin, just like itvwas on cm 12.1?
Click to expand...
Click to collapse
"Settings > Lockscreen > Quick unlock – removed
No replacement; security constraint due to Android Gatekeeper"
Source: http://www.cyanogenmod.org/blog/cm-13-0-release-1
Btw. - there is also a Q&A thread for things like that...
Quick unlock can be achieved through gravity box, I think it's the only way for now.
Sent from my Xperia SP using XDA Free mobile app
even after adrian put the link of q&a some people are still asking here ...please any question i/we will be glad to help but not here ....please all questions ask them here ........... thanks
Great ROM, I just switched from candy5 and the ROM is obviously faster and smoother than lollipop. Only one issue, it lags on Line Messaging app, I've never had this issue when I was on candy5. I don't know if this Line app's fault or the ROM. I'm using 20160329 build.
0329 build + DeltaGapps base (0323-1) + addon gesture = perfect !
After one day of heavy usage I can just say one thing: this is great. Thank you. This also applies to your AOSP build which I could not find a thread for.
mrskyou said:
0329 build + DeltaGapps base (0323-1) + addon gesture = perfect !
Click to expand...
Click to collapse
The same but with opengapps [emoji106] .
Ungewiss said:
After one day of heavy usage I can just say one thing: this is great. Thank you. This also applies to your AOSP build which I could not find a thread for.
Click to expand...
Click to collapse
Goto the BasketBuild link on the first page and move one level up, you will find AOSP-CAF listing
I know where to find it, I could not have installed it otherwise
There is just no separate thread for this rom.
Ungewiss said:
I know where to find it, I could not have installed it otherwise
There is just no separate thread for this rom.
Click to expand...
Click to collapse
Yeah as some of you noticed, I am also working on AOSP builds,
but haven't released anything officially because I want it to be fully functional,
I just installed my latest build, works fine but audio is still completely broken.
Not opening the thread or talking about it until that key feature is fixed.
But camera works on it too for the matter .

[ROM][FINAL][7.1] CyanogenMod 14.1 for Xperia SP

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
About CyanogenMod
CyanogenMod is a free, community built, aftermarket firmware distribution of Android 7.x (Nougat),
which is designed to increase performance and reliability over stock Android for your device.
All the source code for CyanogenMod is available in the CyanogenMod GitHub repo.
And if you would like to contribute to CyanogenMod, please visit our Gerrit Code Review.
Official CyanogenMod 14.1 Release post : https://wiki.cyanogenmod.org/w/Huashan_Info​
Downloads Links
CyanogenMod 14.x (Unlocked Bootloader) :
Xperia SP (Huashan) : https://mega.nz/#F!i4dnRRQS!Vg9KW-BnNg6jjcg35u7jXA
Google Applications (optional) :
OpenGapps : http://opengapps.org/ (Use packages for ARM, Android 7.x, Micro or Pico)
Information : Flash the GApps before the first boot. If not, a clean flash is recommended.
Recommended Recovery (optional) :
TWRP 3.0 : http://forum.xda-developers.com/xpe...t/recovery-twrp-3-0-0-touch-recovery-t3309938
Useful alternatives to CM Updater (with Deltas) : CM Downloader on Play Store
About CyanogenMod : ChangeLog available on http://www.cmxlog.com/14.1/huashan/
About CyanogenMod 14 Device Side : See my GitHub trees linked below​
Flashing and updating
CyanogenMod clean install :
- (Optional) Flash the boot.img kernel from the ROM zip with Fastboot or Flashtool
- (Optional) Wipe the data & cache (Backup to make sure not to loose data)
- Flash the CyanogenMod ROM zip from the Recovery
- (Optional) Flash the GApps to have the Google Applications
- (Optional) Every additional zip you want to flash
- Reboot
CyanogenMod update / upgrade :
- (Information) Don't wipe anything unless you want to
- (BETA / UNOFFICIAL) Nothing to wipe when switching
- Flash the latest CyanogenMod ROM zip from the Recovery
- (Optional) Flash the GApps on first install / upgrade. Not required later, but do update sometimes
- (Optional) Every additional zip you want to flash
- Reboot
CyanogenMod day-to-day updates :
- (Information) Don't wipe anything unless you want to
- (Information) Being Nightlies, try to have a safe backup once a month
- Update to latest Nightly using CM Updater or CM Downloader (link above)
- Reboot​
About the builds
Device tree : https://github.com/AdrianDC/android_device_sony_huashan/commits/cm-14.1
Kernel sources : https://github.com/AdrianDC/android_kernel_sony_msm8960t/commits/cm-14.1
Vendor blobs : https://github.com/AdrianDC/proprietary_vendor_sony/commits/cm-14.1​
Issues and reports
- Report issues only if you use the ROM kernel
- If an additional mod is installed, make sure it's unrelated, and mention it
- Make sure the issue wasn't discussed earlier in the threads
- Share a log of the error with CatLog for example​
Q&A - FAQ
CM-14.x Huashan Regular Questions and Answers : Q&A Thread
About CM-14.x : https://en.wikipedia.org/wiki/CyanogenMod
The CyanogenMod team would like to thank everyone involved
in helping with testing, coding, debugging & documenting! Enjoy!​
CyanogenMod available for Huashan also thanks to :
- The CyanogenMod Team
- Everyone involved in working and testing​
XDA:DevDB Information
CyanogenMod 14.1, ROM for the Sony Xperia SP
Contributors
Adrian DC
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.4.x
Version Information
Status: No Longer Updated
Created 2016-09-14
Last Updated 2017-03-20
Reserved
FEATURES AND ISSUES
Code:
- Boot : Ok
- GApps : OpenGApps Micro Ok
- Dual Recovery : Ok (see below)
- WiFi : Ok (real SONY MAC address)
- Bluetooth : Ok (real SONY MAC address)
- WiFi Hotspot : Ok (2.4GHz and 5GHz)
- RIL - Phone - Data : Ok
- GPS : Ok
- Camera : Ok
- Camcorder : Ok
- MicroSD : Ok, only Ext4 support missing from ROM
- Accelerometer : Ok
- Compass : Ok
- Gyroscope : Ok
- AOSP sensors : Ok
- FM Radio : Ok
- Vibrator : Ok
- Microphone : Ok
- Audio & external audio : Ok
- Bluetooth audio : Ok
- NFC : Ok
- Kernel : Ok, Updating frequently
- Graphics : Ok
- 3D Rendering : Ok
- Clock : Ok (RTC real hardware clock, in TWRP recovery too)
- Powered-off alarm : Ok
- Offline Charging : Ok
- Encryption : Status unknown
- SEPolicies : Fully enforced
IMPORTANT FEATURES TO KNOW
Boot sequence : Once the LEDs light up :
- Press Volume - to open CyanogenRecovery,
- Press Volume + to open the FOTA recovery (TWRP usually) if available
Powered-off alarm : When you have set an alarm
- If you power down the device, it will wake automatically 5 minutes before
- If you let the device charge offline, it will automatically reboot 5 minutes before
Gestures : Events like hand-wave and pocket removal can be enabled in the Settings
Force reboot : You can reset the device by holding Power and Volume+ 5 seconds
Reserved
Current local manifest of the ROM build
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!-- https://github.com/CyanogenMod/android -->
<manifest>
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="CyanogenMod/android_device_sony_common" path="device/sony/common" remote="github" />
<project name="CyanogenMod/android_external_stlport" path="external/stlport" remote="github" />
<project name="CyanogenMod/android_hardware_sony_DASH" path="hardware/sony/DASH" remote="github" />
<project name="CyanogenMod/android_hardware_sony_thermanager" path="hardware/sony/thermanager" remote="github" />
<project name="CyanogenMod/android_packages_apps_FMRadio" path="packages/apps/FMRadio" remote="github" />
<project name="AdrianDC/android_device_sony_huashan" path="device/sony/huashan" remote="github" />
<project name="AdrianDC/android_kernel_sony_msm8960t" path="kernel/sony/msm8960t" remote="github" />
<project name="AdrianDC/proprietary_vendor_sony" path="vendor/sony" remote="github" />
</manifest>
Already testing, ROM is really smooth, and can be used as Daily Driver. Got microgapps installed with no issues.
Update: GPS not working for me. Phone doesn't want to see any satellites
Thank you very much
Now I can start theming for CM14/all thanks goes to you
Edit : I just installed the ROM to find there's no theming engine
It's Awesome to have CM14 in XSP this soon The ROM's smoooooth
Hope it gets developed soooon Missing CM theme engine
Thanks adriandc , you're GOD of xperia sp
Cm14!!!xperia sp!!!! You are very better as Sony support team
Mr Adrian once again your bless including us again what you did for our device is more than a magic sony support is very soon end even the promise of 4.4 is not true because its never update by sony... For an old phone like xperia sp from 2013 its completely fantasy to have nougat... We find a great man a great dev God bless you i really appreciate your kind and your time that really sacrifice for us i have a question from you mr Adrian after a very magical works like multirom im stick on multirom because its amazing i set official 4.3 on primary and cm 13 on secondary my question about when i can flash cm 14 on multirom as a secondary rom? Mr adrian i hope a great life for you a life with all success in all of chapters of your life im really sorry for my bad language ?
Sent from my Xperia SP using Tapatalk
You can do this about cm14.
n78 shadow said:
Thank you very much
Now I can start theming for CM14/all thanks goes to you
Edit : I just installed the ROM to find there's no theming engine
Click to expand...
Click to collapse
Exactly , May be it's because The ROM is in Alpha Stage !!! But pretty smart ROM Really missing CM theme Engine !!
Be patient ! its just an alpha !
Wow! ... just Wow!! This is unbelievable. The amount of time and work you put into this phone is unbelievable. If it wasn't for you, I would've already bought a new phone, but thanks to your awesome support I can still have an up-to-date software experience with the newest Android features and more.
I hope development for CM14 won't be as difficult as it was when moving from Kitkat/Lollipop to Marshmallow, but seeing that the alpha-build is already working pretty okay, I have faith in you getting to run our phone with CM14 better and faster, than it already did on CM13. Keep up the great work! You're a million times better in supporting our device than those million dollar phone companies.
Does SuperSU work with CM14?
Don't need supersu.
Read the first post here and on the Q&A.
Thanks for your great ROM.
But I have a problem , I can't install V4Android ,It give me IO error.
miladn78 said:
Thanks for your great ROM.
But I have a problem , I can't install V4Android ,It give me IO error.
Click to expand...
Click to collapse
Install version for recovery, and switch off SeLinux after that.
wow, you are very hard working for making cm14 / nougat, thanks...
Works fine!
But I miss some CM13 features like themes, NFC toggler in top bar, buttons editor, buttons on locked screen editor, battery % indicator, etc. These are only Android 6 features, that are disabled in 7, or CM will add customization later?
kvazimode said:
Works fine!
But I miss some CM13 features like themes, NFC toggler in top bar, buttons editor, buttons on locked screen editor, battery % indicator, etc. These are only Android 6 features, that are disabled in 7, or CM will add customization later?
Click to expand...
Click to collapse
It's an alpha build..the features will be add later..right now they are interested in stability and bug fixes other than make everything work on 7
Sent from my Xperia SP using Tapatalk
So far this rom very good. Battery life better than cm 13

[ROM][FINAL][7.1] CyanogenMod 14.1 for Xperia TX

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
About CyanogenMod
CyanogenMod is a free, community built, aftermarket firmware distribution of Android 7.x (Nougat),
which is designed to increase performance and reliability over stock Android for your device.
All the source code for CyanogenMod is available in the CyanogenMod GitHub repo.
And if you would like to contribute to CyanogenMod, please visit our Gerrit Code Review.
Official CyanogenMod 14.1 Release post : https://wiki.cyanogenmod.org/w/Hayabusa_Info​
CyanogenMod 14.x for Sony Xperia Blue
Xperia T (Mint) : http://forum.xda-developers.com/xperia-t-v/orig-development/rom-t3461744
Xperia TX (Hayabusa) : http://forum.xda-developers.com/xperia-t-v/orig-development/rom-t3461745
Xperia V (Tsubasa) : http://forum.xda-developers.com/xperia-t-v/v-development/rom-t3461746​
Downloads Links
CyanogenMod 14.x (Unlocked Bootloader) :
Xperia TX (Hayabusa) : https://mega.nz/#F!Kg81TbAY!VFxHX7XDe6q1pi4VBxagug
Google Applications (optional) :
OpenGapps : http://opengapps.org/ (Use packages for ARM, Android 7.x, Micro or Pico)
Information : Flash the GApps before the first boot. If not, a clean flash is recommended.
Recommended Recovery (optional) :
TWRP 3.0 : http://forum.xda-developers.com/xperia-t-v/t-development/recovery-twrp-3-0-0-touch-recovery-t3319588
Useful alternatives to CM Updater (with Deltas) : CM Downloader on Play Store
About CyanogenMod : ChangeLog available on http://www.cmxlog.com/14.1/hayabusa/
About CyanogenMod 14 Device Side : See my GitHub trees linked below​
Unification of the user partitions into UserData
Read more about the UserData unification : https://wiki.cyanogenmod.org/w/Hayabusa_Info
Migrate to the one big partition for CM-14.x :
- (Optional) Backup all your data, applications, internal storage, ...
- (Optional) If wished, do a full Nandroid backup from Recovery
- Flash the latest ROM zip of your device to start the unification
- Read and follow the instructions from the zip if anything goes wrong
- (Optional) Restore your Nandroid backup if you want to
- Flash the same ROM zip for CyanogenMod
Reverse the migration for older ROMs :
- (Optional) Backup all your data, applications, internal storage, ...
- Reboot to recovery and do a Factory reset (data will be lost)
- Flash restore_sdcard-YYYYMMDD-blue.zip
- Read and follow the instructions from the zip if anything goes wrong
- Flash the ROM you want now and restore your data​
Flashing and updating
CyanogenMod clean install :
- (Optional) Flash the boot.img kernel from the ROM zip with Fastboot or Flashtool
- (Optional) Wipe the data & cache (Backup to make sure not to loose data)
- Flash the CyanogenMod ROM zip from the Recovery
- (Optional) Flash the GApps to have the Google Applications
- (Optional) Every additional zip you want to flash
- Reboot
CyanogenMod update / upgrade :
- (Information) Don't wipe anything unless you want to
- (BETA / UNOFFICIAL) Nothing to wipe when switching
- Flash the latest CyanogenMod ROM zip from the Recovery
- (Optional) Flash the GApps on first install / upgrade. Not required later, but do update sometimes
- (Optional) Every additional zip you want to flash
- Reboot
CyanogenMod day-to-day updates :
- (Information) Don't wipe anything unless you want to
- (Information) Being Nightlies, try to have a safe backup once a month
- Update to latest Nightly using CM Updater or CM Downloader (link above)
- Reboot​
About the builds
Device tree : https://github.com/AdrianDC/android_device_sony_hayabusa/commits/cm-14.1
Common tree : https://github.com/AdrianDC/android_device_sony_blue-common/commits/cm-14.1
Kernel sources : https://github.com/AdrianDC/android_kernel_sony_msm8x60/commits/cm-14.1
Vendor blobs : https://github.com/AdrianDC/proprietary_vendor_sony/commits/cm-14.1​
Issues and reports
- Report issues only if you use the ROM kernel
- If an additional mod is installed, make sure it's unrelated, and mention it
- Make sure the issue wasn't discussed earlier in the threads
- Share a log of the error with CatLog for example​
Q&A - FAQ
CM-14.x Hayabusa Regular Questions and Answers : Q&A Thread
About CM-14.x : https://en.wikipedia.org/wiki/CyanogenMod
The CyanogenMod team would like to thank everyone involved
in helping with testing, coding, debugging & documenting! Enjoy!​
CyanogenMod available for Hayabusa also thanks to :
- The CyanogenMod Team
- Everyone involved in working and testing​
XDA:DevDB Information
CyanogenMod 14.1, ROM for the Sony Xperia T
Contributors
Adrian DC
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.4.x
Version Information
Status: No Longer Updated
Created 2016-09-14
Last Updated 2017-03-20
Reserved
FEATURES AND ISSUES
Code:
- Boot : Ok
- GApps : OpenGApps Micro Ok
- Dual Recovery : Ok (see below)
- WiFi : Ok (real SONY MAC address)
- Bluetooth : Ok (real SONY MAC address)
- WiFi Hotspot : Ok (2.4GHz and 5GHz)
- RIL - Phone - Data : Ok
- GPS : Ok
- Camera : Ok
- Camcorder : Ok
- MicroSD : Ok, only Ext4 support missing from ROM
- Accelerometer : Ok
- Compass : Ok
- Gyroscope : Ok
- AOSP sensors : Ok
- FM Radio : Ok
- Vibrator : Ok
- Microphone : Ok
- Audio & external audio : Ok
- Bluetooth audio : Ok
- NFC : Ok
- Kernel : Ok, Updating frequently based on Huashan kernel
- Graphics : Ok
- 3D Rendering : Ok
- Clock : Ok (RTC real hardware clock, in TWRP recovery too)
- Powered-off alarm : Ok
- Offline Charging : Ok
- Encryption : Status unknown
- UserData Unification : Ok
- SEPolicies : Fully enforced
IMPORTANT FEATURES TO KNOW
Boot sequence : Once the LEDs light up :
- Press Volume - to open CyanogenRecovery,
- Press Volume + to open the FOTA recovery (TWRP usually) if available
Powered-off alarm : When you have set an alarm
- If you power down the device, it will wake automatically 5 minutes before
- If you let the device charge offline, it will automatically reboot 5 minutes before
Gestures : Events like hand-wave and pocket removal can be enabled in the Settings
Force reboot : You can reset the device by holding Power and Volume+ 5 seconds
Reserved
Current local manifest of the ROM build
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!-- https://github.com/CyanogenMod/android -->
<manifest>
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="CyanogenMod/android_device_sony_common" path="device/sony/common" remote="github" />
<project name="CyanogenMod/android_external_stlport" path="external/stlport" remote="github" />
<project name="CyanogenMod/android_hardware_sony_DASH" path="hardware/sony/DASH" remote="github" />
<project name="CyanogenMod/android_hardware_sony_thermanager" path="hardware/sony/thermanager" remote="github" />
<project name="CyanogenMod/android_packages_apps_FMRadio" path="packages/apps/FMRadio" remote="github" />
<project name="AdrianDC/android_device_sony_blue-common" path="device/sony/blue-common" remote="github" />
<project name="AdrianDC/android_device_sony_hayabusa" path="device/sony/hayabusa" remote="github" />
<project name="AdrianDC/android_kernel_sony_msm8x60" path="kernel/sony/msm8x60" remote="github" />
<project name="AdrianDC/proprietary_vendor_sony" path="vendor/sony" remote="github" />
</manifest>
Omg thanks a lot by keeping our phones alive
Fist of all thanks to you.. For making this great work.
Now I'm on CM 13 ..how can i install this rom without losing my internal data..
Is is necessary to wipe internal data?
Thanks for everything you are great our phone has eternal life because of you
Sent from my E2333 using XDA-Developers mobile app
pandor101 said:
Fist of all thanks to you.. For making this great work.
Now I'm on CM 13 ..how can i install this rom without losing my internal data..
Is is necessary to wipe internal data?
Click to expand...
Click to collapse
For now that is not possible, you can use this rom only after factory reset (clean install) because it's early stage of CM development, but in the future it should be possible to upgrade from cm13
Sent from my E2333 using XDA-Developers mobile app
i install this rom
it's very good rom
but!
internal storage and root storage reduced to 2 gig!
please fix this look like CM13
tnx
wow amazing TX get CM 14
thank you very much, make TX keep update.
Mehr7400 said:
i install this rom
it's very good rom
but!
internal storage and root storage reduced to 2 gig!
please fix this look like CM13
tnx
Click to expand...
Click to collapse
stil 12gb
Sent from my Xperia TX using XDA-Developers mobile app
Mirror? Basketbuild download to slow for me, around 8kb/s and my internet connection is above 5Mbps
DanielZRK said:
Mirror? Basketbuild download to slow for me, around 8kb/s and my internet connection is above 5Mbps
Click to expand...
Click to collapse
here you are:
Code:
http://public.upera.co/15emlgw0
Code:
http://www.mediafire.com/download/8ji59pl4rbi6dvh/cm-14.0-20160914-UNOFFICIAL-hayabusa.zip
hy adrian thanks for the rom.
but i cant find cm13 fiture like expand screen , theme engine. will be add in next build?
Can you give me tutorial how to flash your multirom?
Sent from my E2333 using XDA-Developers mobile app
blkrsk said:
hy adrian thanks for the rom.
but i cant find cm13 fiture like expand screen , theme engine. will be add in next build?
Click to expand...
Click to collapse
yes
many Facilities was removed from this rom
look like:
charging sound
vibration menu
theme
weather info on top of notification menu
ROM Update menu
blkrsk said:
hy adrian thanks for the rom.
but i cant find cm13 fiture like expand screen , theme engine. will be add in next build?
Click to expand...
Click to collapse
Mehr7400 said:
yes
many Facilities was removed from this rom
look like:
charging sound
vibration menu
theme
weather info on top of notification menu
ROM Update menu
Click to expand...
Click to collapse
Some CM features are here and some are not yet ported by CM developers.
The initial builds for all devices are focused on hardware bring up and stability.
As the time goes by more and more CM features will be ported from CM13 to CM14, and probably new ones introduced by the main CM developers.
On alfa builds the only things that should be reported are the real bugs, and what is working and what not on hardware side, and not the missing CM features.
hi sir AdrianDC,
thank you again for this great rom my only probem is i can't access my sdcard.
Sent from my Xperia TX using XDA-Developers mobile app
Does anyone have problem with root access? Root not working for me. Already enable it at dev option
hasnol89 said:
Does anyone have problem with root access? Root not working for me. Already enable it at dev option
Click to expand...
Click to collapse
Most programs are not compatible with this version (android 7)
Because of this lack of consistency returned to the previous ROM (CM 13)
apps look like task manager - MX Player not working in this rom (should wait to update the apps)
the phone was crash or heavy working because no task manager working in this rom and all of apps was open and working and i can't close apps
if you can add task manager in this rom
tnx

[ROM][onyx][7.1.x][OFFICIAL][WEEKLIES] Lineage Android Distribution for OnePlus X

LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for LineageOS is available in the LineageOS Github repo. And if you would like to contribute to LineageOS, please visit out Gerrit Code Review.
Code:
#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*
* Submitting bug reports on nightly builds is the leading
* cause of male impotence.
*/
KNOWN ISSUES
- Report with logs
!!! BUG REPORTS WITHOUT LOGS WILL BE IGNORED !!!
Android: adb logcat
Radio: adb logcat -b radio
Kernel: adb shell dmesg
Full Bugreport: Developer Menu -> Bugreport
HOW TO INSTALL LINEAGEOS
- Make sure your phone is running Marshmallow bootloader
- Download the LineageOS zip(s). (see Downloads)
- Copy the LineageOS zip to internal sdcard.
- Unlock bootloader and install TWRP.
- Boot into TWRP.
- Perform a backup of your current ROM. (Optional)
- IMPORTANT: Do a Factory Reset. (Wipe data & cache)
- Flash LineageOS.
- Optional: Install the Google Apps addon package. (see Downloads)
- Reboot
DOWNLOADS
LineageOS:
https://download.lineageos.org/onyx
Old Downloads :
https://github.com/ashwinr64/LineageOSUpdater-API/releases/
Google Apps:
OpenGApps (recommended: arm, 7.1.1, nano)
SOURCECODE
Device tree: https://github.com/LineageOS/android_device_oneplus_onyx
Kernel: https://github.com/LineageOS/android_kernel_oneplus_onyx
HOW TO CONTRIBUTE
Use our code review system to send patches: https://review.lineageos.org
HOW TO BUILD
- repo init -u ssh://[email protected]/LineageOS/android.git -b cm-14.1
- add local manifest to .repo/local_manifests/
- repo sync -j4
- . build/envsetup.sh
- brunch onyx
Local manifest:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="LineageOS/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="LineageOS/android_device_oneplus_onyx" path="device/oneplus/onyx" remote="github" />
<project name="LineageOS/android_kernel_oneplus_onyx" path="kernel/oneplus/onyx" remote="github" />
</manifest>
SUPPORT ME
Do you like my work? Consider donating me some beer!
​
XDA:DevDB Information
LineageOS, ROM for the OnePlus X
Contributors
ashwin007
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.4.x
Version Information
Status: Stable
Created 2017-01-13
Last Updated 2017-01-27
Reserved
Changelog:
17/1:
-Synced with Lineage.
-Sneak peak of our new bootanimation ;P
-Fixed the string derp in Settings dashboard.
-Added support for automatic updates.
NOTE: I'll look into the incall audio very soon. Users need to flash superSU separately in order to have SU , we are planning on an addon SU release
.
10/1:
-Rolled back to old RIL stack , no more network instabilities
-Enabled SDcardfs
-WiFi hotspot fixed.
-No need to flash 3rd party kernels ( sorry for the delay guys,no network here,STILL :/ )
First!!
Going to flash it later today!
Edit- running smoothly with stock kernel and dynamic gapps!!
Hotspot working! And every thing else I tried.
One bug I guess(see ss ).
for me
Download queued ... Thank you
Edit: Finally get some LinOS logos, nice!
Super Machi
Sactgr said:
Going to flash it later today!
Edit- running smoothly with stock kernel and dynamic gapps!!
Hotspot working! And every thing else I tried.
One bug I guess(see ss ).
Click to expand...
Click to collapse
It isn't a bug but yeah will fix it in next build
@ashwin007 Thanks a lot Happy new year, btw!
Did you manually fix the kernel because other builds (Lineage and AICP) still require you to flash the kernel? Just asking out of curiosity.
I'm eager to see it here! Nicely done @ashwin007
BrokenBee said:
@ashwin007 Thanks a lot Happy new year, btw!
Did you manually fix the kernel because other builds (Lineage and AICP) still require you to flash the kernel? Just asking out of curiosity.
Click to expand...
Click to collapse
Must've fixed something as it's listed as fixed in the changelog.
The Bug that the preferred Sim changes after every reboot from Sim2 to Sim1 still persists.
Not official, but very close to what the first official weekly will be
The bugs i found out-
1.In call volume control for earpiece(speaker works fine)
2.Split screen size changing.
3.The file explorer
4.In the camera app the shutter sound option doesn't work.
Btw huge thanks to @ashwin007 to let us have a hands-on on possibly the best 7.1 rom till date.
Exciting!
Works fine so far!
Shall i flash arsenic kernal or not?
aryaraj said:
The bugs i found out-
1.In call volume control for earpiece(speaker works fine)
2.Split screen size changing.
3.The file explorer
4.In the camera app the shutter sound option doesn't work.
Btw huge thanks to @ashwin007 to let us have a hands-on on possibly the best 7.1 rom till date.
Click to expand...
Click to collapse
Have you tried the other LineageOS builds?
shyamalgarg said:
Shall i flash arsenic kernal or not?
Click to expand...
Click to collapse
Shall you or should you? You don't need to (see changelog).
can i dirty flash this over CM14.1-20161207-UNOFFICIAL Build?
Monitormann said:
can i dirty flash this over CM14.1-20161207-UNOFFICIAL Build?
Click to expand...
Click to collapse
I make it, and work fine, but in 20161222
Enviado desde mi ONE E1001
The ROM is perfect at least the way I use it. What I don't understand is why the signal strength fluctuates so much and drops off completely. It's not something I experienced in this ROM but in all nougat Roms. I'm getting a range of -90 to -109 dBm and I see the indicator drop off completely. I wonder if I may miss a call or text, if I initiate a call the indicator will jump up and once off call it drops off again. It something that is not present in OOS. (OOS avg. -70 to -90 dBm)

[ROM][10.0] AICP Q [UNOFFICIAL][Lenovo Z6 Pro][06-05-2020]

AICP Changelog:
====================
05-06-2020
====================
* system/core
ba9731dec fs_mgr: skip setting rootfs block as ro during mount_all in recovery
====================
05-05-2020
====================
* build/make
41b64a7e4 Merge tag 'android-10.0.0_r35' into q10.0
* frameworks/av
79536b8aa Merge tag 'android-10.0.0_r35' into q10.0
* frameworks/base
b2a468ceb5a Merge tag 'android-10.0.0_r35' into q10.0
* frameworks/native
ded11359a Correct PowerManager transaction IDs. These transaction IDs must be kept in sync with the method order from IPowerManager.aidl.
* packages/apps/Settings
ae2ed0272e Merge tag 'android-10.0.0_r35' into q10.0
* packages/services/Telephony
21819b7a7 Merge tag 'android-10.0.0_r35' into q10.0
* platform_manifest
6022ff4 manifest: android-10.0.0_r33 -> android-10.0.0_r35
* system/bt
4b27796cb Merge tag 'android-10.0.0_r35' into q10.0
====================
05-04-2020
====================
====================
05-03-2020
====================
* frameworks/base
13f310b43e1 fw/b data restrictions: Don't call getNetworkCapabilities() in the callback
* packages/overlays/AICP
9b77af2 overlays: Make all scripts use bash instead of sh
====================
05-02-2020
====================
* bootable/recovery
eaf945b7 recovery: handle interrupts in apply update menu
d6730d09 recovery: fix volmgr cleaning up
* device/aicp/sepolicy
2fb0e6d qcom: Add legacymm livedisplay sepolicy
* frameworks/base
f5b415e650e Add isApplicationOnUicc API
55933adcf95 Wired/BT headset: make ringtone audio focus customizable [1/2]
ee6e5df02fb SystemUI: check for weather service in qs tile
655fd0b4f72 Disable R-style headers by default
4bc3c0c4ac7 ReadingModeTile: Go away if wellbeing app is enabled
6185d3c1bc4 SystemUI: Allow setting custom rounded corner shapes
c805a9b6e66 SystemUI: decrease margin between qs and text
f8dfb2c8310 FODCircleView: Show while bouncer is requesting Pattern or PIN
d63af67cd15 Revert "FODCircleView: Show while bouncer is requesting Pattern or PIN"
fc506c058c3 Revert "Location tile: make it cycle modes"
0554e3e6108 Revert "SystemUI: QSTiles: add details panel to location tile"
* packages/apps/JamesDSPManager
e9ae49f Merge "JamesDSP: add storage permissions" into q10.0
97a593c JamesDSP: add storage permissions
* packages/services/Telephony
d95a39023 fixup! Add isApplicationOnUicc API
10afe04f4 Add isApplicationOnUicc API
* vendor/aicp
d7b9ac6 vendor: Add partsbin permission
72b8955 Merge "Add multiple topics support to repopick" into q10.0
====================
05-01-2020
====================
* frameworks/base
b2960dc472f Fix WebView vulnerability by disallowing file access
* frameworks/opt/aicpgear
992675f aicpgear: add GlobalSettingListPreference to the mix
* packages/apps/AicpExtras
5bfb7ae Wired/BT headset: make ringtone audio focus customizable [2/2]
* packages/apps/Settings
05a28f919a LiveDisplaySettings: Hide Reading Mode if wellbeing app is enabled
* packages/services/OmniJaws
ea65671 OmniJaws: Update owm weather icons' sunset/sunrise dependency
====================
04-30-2020
====================
* device/aicp/sepolicy
73d498f sepolicy: Add sepolicy rules for event-based tap to wake gesture control
* external/bash
aeab988 inputrc: Import from Ubuntu
* frameworks/base
ae1d814adce base: core: rename restart ui permission
* hardware/qcom/display
7d10f4b5c msm8084: libhwcomposer fix some warnings
d20c3f894 Make hwc_vsync thread realtime
b9bd88086 msm8084: Deprecate usage of cutils/log.h
====================
04-29-2020
====================
* packages/apps/Settings
8752f0d20d BasebandVersionPreferenceController: Trim baseband if needed
* packages/providers/MediaProvider
1fb4d34 MediaProvider: Less spam
====================
04-28-2020
====================
* bootable/recovery
41a70967 recovery_ui: Tell the user they're actually formatting
* frameworks/base
4606ebeb66f Clean up duplicated uses-permission
f59265117f8 base: Make 'R style' notification headers toggleable [1/2]
4acdf744d50 fw_base: Implement R style notification section headers
* frameworks/native
f263585c8 Don't destroy ART profiles after package move.
* packages/apps/AicpExtras
ca71607 AicpExtras: Toggle-able adblock hosts file [3/3]
77014f2 AE: Make 'R style' notification headers toggleable [2/2]
* vendor/aicp
f201c57 Merge "aicp: docs: update features list" into q10.0
a1d520e aicp: docs: update features list
0e1da08 Merge "privapp-permissions: Update PREVENT_POWER_KEY permission for Camera" into q10.0
ebbf0c0 Merge "vendor/aicp: Toggle-able adblock hosts file [2/3]" into q10.0
5e3f009 privapp-permissions: Update PREVENT_POWER_KEY permission for Camera
49a5285 Add multiple topics support to repopick
====================
04-27-2020
====================
* device/aicp/sepolicy
fdc5700 Merge changes from topic "live-display" into q10.0
* frameworks/base
262c5d0d888 CameraServiceProxy: Loosen UID check conditionally
d504555715c [missed part] Camera button support
30022ebf8d3 base: core: remove leftover permission
8415c2aa601 Camera: rename prevent power key permission
* packages/apps/Snap
569cd9606 Merge "Snap: Rename prevent power key permission" into q10.0
* platform_manifest
5c9f78f Merge "Manifest: Track hardware_lineage_livedisplay from lineage" into q10.0
* vendor/aicp
64aff69 aicp: docs: Add back hw keys info
6d21b28 aicp docs: Add back live display info
f45efd0 Merge changes from topic "live-display" into q10.0
Download:
https://drive.google.com/file/d/10NGXTFoO_JyZY0o0zRWGsHxiEEP_QRjs/view?usp=drivesdk
Device Tree:
https://github.com/Lucchetto/android...e_lenovo_zippo
Kernel Source:
https://github.com/Lucchetto/android...lenovo_sm8150/
Rom Source:
https://github.com/Havoc-OS
Installation:
Firmware 334 recommended
Flash Rom
Flash Gapps(Opengapps Nano recommended)
Flash Magisk
Reboot
Thanks a lot @Lucchetto_m for Device Tree and everything else!!!
Enjoy!
@SacredDeviL666 Sorry for the tag. This guy forgot tagging the thread with 'lenovo-z6-pro' . It's there a way to fix this in order the thread to appear in the device discussion page?
descarao81 said:
@SacredDeviL666 Sorry for the tag. This guy forgot tagging the thread with 'lenovo-z6-pro' . It's there a way to fix this in order the thread to appear in the device discussion page?
Click to expand...
Click to collapse
@descarao81 I've tagged this thread now, in future may i also suggest you to use report button for these requests.
AICP Q
Updated Kernel to 4.14.179
Updated blobs from ZUI 11.5.334
https://drive.google.com/file/d/1-aoPR6QoW97ASXJSHWhQIuvHVtU8YgEX/view?usp=drivesdk
Bugs: FP not working(gonna look at it.)
All credits @Lucchetto_m
Thanks for his amazing work ???
Thanks for the hard work!
Anyone else getting 'This package is for device: zippo; this device is Zippo.' ?
Hi,
What u mean? Where do you get this message?
benjieb said:
Hi,
What u mean? Where do you get this message?
Click to expand...
Click to collapse
When flashing in TWRP
I fixed it by editing META-INF\com\google\android\updater-script
I just capitalized a few zippo (to Zippo)...
Everything is good now
Update Time:
AICP Q 05/13/20
*Source Upstream: Many little fixes & improvements
https://drive.google.com/file/d/1-48g2jExls1MbLmPiX2uPuBb_sF0i88V/view?usp=drivesdk
Is there a way to install the phone apk on a non custom ROM (Galaxy S 10 non rooted)?
(asking for a friend, he liked the recording feature)
threeeye said:
Is there a way to install the phone apk on a non custom ROM (Galaxy S 10 non rooted)?
(asking for a friend, he liked the recording feature)
Click to expand...
Click to collapse
No but i'm sure there is a solution on Playstore.
AICP(Android Ice Cold Project) 09/06/20
*June Security Patch
*Kernel v4.14.180 stable
Download:
https://androidfilehost.com/?fid=12420606652095400043
pete80pro said:
AICP(Android Ice Cold Project) 09/06/20
*June Security Patch
*Kernel v4.14.180 stable
Download:
https://androidfilehost.com/?fid=12420606652095400043
Click to expand...
Click to collapse
Many thanks for your great work ! :good:
AICP 17/06
*Source upstream
*Kernel upstream 4.14.184
Download:
https://androidfilehost.com/?fid=8889791610682872686
Changelog:
https://androidfilehost.com/?fid=8889791610682872687
AICP 13/07
*Source upstream
*July Patch merged
*Kernel upstream v4.14.188
Download:
https://www.androidfilehost.com/?fid=8889791610682891691
Changelog:
https://www.androidfilehost.com/?fid=8889791610682872687
If you like my work feel free to buy me some coffee:
https://paypal.me/wilmabumsson
AICP 26/07
*Source upstream
->read Changelog
*Kernel upstream v4.14.189
+added Boeffla Wakelock Blocker
+few more optimizations
Download:
https://www.androidfilehost.com/?fid=8889791610682900796
Changelog:
https://www.androidfilehost.com/?fid=8889791610682900798
If you like my work feel free to buy me some coffee:
https://paypal.me/wilmabumsson
AICP Update 08/08
*Source upstream
-->Read Changelog
*Kernel based on Luchettos latest
(BigTHX @pasta_con_tonno)
+LTS v4.14.193 merged
+LA.UM.8.1.r1-15600-sm8150.0 merged
Download:
https://drive.google.com/file/d/1-8YAXw8mHHJQLYVKhXUY1FFzMrWYwuLa/view?usp=drivesdk
Changelog:
https://drive.google.com/file/d/1-9CWw_MtTOHsePVsPr4Z3cla6ALCqlMx/view?usp=drivesdk
If you like my work feel free to buy me some coffee:
https://paypal.me/wilmabumsson
******** Update ********
AICP 06/09
*Source upstream
-->Read Changelog
*Kernel upstream 4.14.196
*Added CPU Input Boost Driver
*Added Simple MSM Thermal
*Added Boeffla Wakelock Blocker
*Schedutil improvements
*more optimizations...
Download:
https://www.androidfilehost.com/?fid=8889791610682932130
Changelog:
https://www.androidfilehost.com/?fid=8889791610682932132
If you like my work feel free to buy me some coffee!
https://paypal.me/wilmabumsson
******** Enjoy! ********
AICP Update 16/09
*Source upstream
-->Read Changelog
*Kernel upstream 4.14.198
+ usual optimizations
Download:
https://drive.google.com/file/d/10ae8FWbXT7EwNYZ0-qiqNYPA0pvQh8Qc/view?usp=drivesdk
Changelog:
https://drive.google.com/file/d/10dB1ZFsvZkMyS5kfhrfMozed-Orgx1kC/view?usp=drivesdk
If you like my work feel free to buy me some Coffee:
https://paypal.me/wilmabumsson
Question
Hi, i update my lenovo z6 pro yesterday with the AICP 15.0, i don't know if i downloaded this rom in xda forum, but in this version has a black bar under the keyboard and has useless two buttons, 1 - close the keyboard, 2 - Other keyword i think.. In "About Phone" has a field that means a update 10/10/2020.. Thanks a lot for this ROM!
raphaelnrk said:
Hi, i update my lenovo z6 pro yesterday with the AICP 15.0, i don't know if i downloaded this rom in xda forum, but in this version has a black bar under the keyboard and has useless two buttons, 1 - close the keyboard, 2 - Other keyword i think.. In "About Phone" has a field that means a update 10/10/2020.. Thanks a lot for this ROM!
Click to expand...
Click to collapse
Thanks for your Feedback. New Version coming later.

Categories

Resources