Development of Aosp-Caf-Ex a Custom Android ROM for Android Smartphones
**I would like to share with you my contribution to the development of Aosp-caf Rom, Custom ROM for YU devices {especially YU YUPHORIA (codename: lettuce) and YU YUREKA (codename: TOMATO)}. And later on also developed for Xiaomi devices like Redmi Note 3 (KENZO) & Redmi 4 (santoni). **
I am the Lead Developer of the Aosp-caf-ex. I tried to incorporate all the basic essential features in the ROM. The ROM was originally developed with Android 7.1 nougat as base. However, it was later on updated to be developed with Oreo (Android 8.0) as base(wip).
What's AOSP?
-AOSP is Android as Google publish without other modifications. More or less AOSP is the Nexus devices stock rom without gapps.
What's CAF (CodeAurora Forums)?
-Code Aurora Forum (CAF) is a consortium of companies with projects serving the mobile wireless industry. Software projects it concerns itself with are e.g. Android for MSM, Femto Linux Project, LLVM, MSM WLAN and Linux-MSM. Code Aurora is basically AOSP plus all Qualcomm specific enhancements and optimization.
What is Android ROM ?
The Android ROM is the Android operating system. This is the User interface (Sense UI in HTC phones) and the file system for maintaining contacts etc. It is composed of a Linux kernel and various add-ons to achieve specific functionality.
How does it work? (How to make it for our devices?)
Github: https://github.com/Aosp-Caf-Ex/platform_manifest
first of all u need to familiar with the building Aosp Rom(read this- https://source.android.com/setup/building )
now
Required Packages
Simply copy and paste this in a terminal window It will install required packages :
sudo apt-get update && sudo apt-get install openjdk-8-jdk
Now some other required packages
sudo apt-get install git-core gnupg ccache lzop flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5 lib32z1 lib32bz2-1.0 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python
Getting Ready
-Making required directories
-Obtaining the repo binary
-Adding repo binary to your path
-Giving the repo binary proper permissions
-Initializing an empty repo
-Syncing the repo
So, Simply copy paste the below code
Make directory for the repo binary
mkdir ~/bin
Add directory for the repo binary to its path
PATH=~/bin:$PATH
Downloading repo and placing it in the appropriate directory
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
Giving the repo proper permissions
chmod a+x ~/bin/repo
**Creating dir repo (where the repo will be stored and your source would be synced) **
mkdir ~/Aosp && cd ~/Aosp
Initializing and downloading the manifest
repo init -u https://github.com/Aosp-Caf-Ex/platform_manifest.git -b n-7x
Sync the source
This process might take longer because the sources are huge in size more than 25gb
repo sync -f --force-sync --no-clone-bundle
Building the Aosp-caf-ex ROM
Follow the AOSP Porting Instructions to prepare the proprietary files for building for your device: http://xda-university.com/as-a-developer/porting-aosp-roms-using-source-code
To build ROM For your device
cd ~/Aosp
. build/envsetup.sh
lunch aosp_device-userdebug
make bacon -jx
**Where X is the number of jobs ( ex- j8) **
Obtaining the zip created from the build process
cd ~/Aosp/out/target/product//
Here u will find the zip & u can flash & test it on your device
If u found the zip then congo!, if not then check u might have faced some error & try to fix it ;)
Some ScreenShot of the Rom ;)
**
My proof of work - here is a screenshot of my logged in session in Github :
**
My developer profiles:
XDA-https://forum.xda-developers.com/member.php?u=7668741
YuForums-http://forums.yuplaygod.com/members/rohan.97666/
My Github Profile-https://github.com/DRohan898
I hope you liked my first post on utopian.io. I would love to help Android devs of different devices interested in This Rom. Thanks. ;)
Posted on Utopian.io - Rewarding Open Source Contributors
Hey @drohan I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Hello!
Hi
What a start my developer friend! You did a great job in Android development for YU Yuphoria.
I welcome you to this awesome steemit community. Hope to see more awesome contribution from your side.
Thanks :)
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]