Tuesday, 21 June 2016

Android Sources Highly Compressed & Developer Exchange


Android Developers, have many problems. One such of them is "SLOW INTERNET" or even "LOW BANDWIDTH".
Due to these problems, we are unable to sync the BIG chunk of Android source codes from the respective repositories.
Hence, most of the new and learning developers just fail at the first step: Downloading The Source Code!
So, here I present you with a thread, which contains links to download "HIGHLY COMPRESSED", untouched (unmodified) and full Android source codes of many different ROMs!
The links to the highly compressed source codes

What is Repo?
Repo is a repository management tool built on top of Git.

It’s first purpose is to downloads files from multiple git repositories into your local working directory (aka the source tree). That means that you won’t have to manually download or fetch the latest changes from about 300+ projects (depending on if you are downloading AOSP, CM or AOKP for example), repo will do it for you.

The second purpose of repo is to made it easy to submit your code contributions for review to a Gerrit server.

When you download a source code with repo, you get a folder named .repo in your working directory. It contains all the compressed and encrypted files that need to be in the source code.

After the source has been downloaded, the repo tool unencrypts and decompresses the files from the ".repo" folder and you get the source code in the working directory itself

What happens with the ".repo" folder?
It stays there, eating up the extra worthy space. A repo folder of cm12, when highly compressed is 10Gigs. An uncompressed one may be around 15Gigs.

What is the use of that folder?
If you want to UPDATE the sources, I mean update the current version of the source code, the repo folder comes handy. If you don't have the ".repo" folder, you may not be able to update the sources further. Like, if you want to get the latest patches, fixes, bug fixes, etc. you need to run:

Code: repo sync 

later on. But not having the .repo folder will disable you to do that.

Even if you do not have the .repo folder, you will be able to compile the ROM with no problem! Do not worry if you are not able to download that. It is just needed to get fixes later on.

Note: You cannot go from cm12 source to cm12.1 or going cm12 to cm13 as these are different branches on the Cyanogenmod repo. No way doing that. You will have to manually download the new source.

AOSP

Marshmallow 6.0.1

Marshmallow 6.0

Lollipop 5.1.0

Lollipop 5.0.2

Kitkat 4.4.4


CyanogenMod


Marshmallow 6.0 (CM13) 

Lollipop 5.1.1 (CM12.1)

Lollipop 5.0.2 (CM12)

Kitkat 4.4.4 (CM11)

Jellybean 4.3 (CM10.2)

Jellybean 4.2.2 (CM10.1)

Jellybean 4.1.2 (CM10)

Ice Cream Sandwich 4.0.4 (CM9)

Gingerbread 2.3 (CM7)



AOKP

Lollipop

Kitkat


MiUi (PatchROM)

MiUi 7

MiUi 6

MiUi Kitkat


Omni

Lollipop 5.1

Lollipop 5.0


Pac-Man

Lollipop 5.1


Resurrection Remix

Marshmallow 6.0.1

Lollipop 5.1


Carbon


Lollipop

Kitkat


Euphoria

Marshmallow 6.0.1

Lollipop 5.1.1


SlimROMs

Lollipop

Kitkat


AICP

Kitkat 4.4.4


TWRP

Marshmallow 6.0.1

Manifest


RootBox

Lollipop


Android x86

Marshmallow 6.0

Lollipop 5.1



FAQ

Q1> How should I extract the source?
Ans: If your archive is in .7z format, do this:

  • Open Terminal
  • Download 7zip if not done before
    Code:
    sudo apt-get install p7zip-full
  • Now cd to the drive where you have downloaded the sources
  • Extract it
    Code:
    7z x (file name here).7z

If your archive is in .tar.gz format, do this:
  • Open Terminal
  • Now cd to the drive where you have downloaded the sources
  • Extract it
    Code:
    tar -xvzf (file name here).tar.gz

If your archive is in .tar.xz format, do this:
  • Open Terminal
  • Now cd to the drive where you have downloaded the sources
  • Extract it
    Code:
    tar -xvJf (file name here).tar.xz

Now you have extracted the source.

Q2> I am not able to extract the source. What should I do?
Ans: You cannot extract source with GUI on the Archive Extractor. So, try the method I mentioned.

Q3> Is the size of all files 2GB? I saw the size 2GB on AndroidFileHost!
Ans: The mentioned size on the thread is correct. AndroidFileHost has some problems while showing file sizes for files above 2GB.

Q4> How do you compress them? I mean, I need the command so that I can help you out!
Ans: XZ_OPT=-9e tar cJfv tarfile.tar.xz directory

Powered by Blogger.