Development of Aosp-Caf-Ex a Custom Android ROM for Android Smartphones

in #utopian-io7 years ago (edited)

image.png
**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.
image.png

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 ;)
**image.png
image.png
image.png

My proof of work - here is a screenshot of my logged in session in Github :
Capture.PNG
proof2.PNG

**
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

Sort:  

Hey @drohan I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • This is your first accepted contribution here in Utopian. Welcome!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

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

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]

Coin Marketplace

STEEM 0.29
TRX 0.26
JST 0.039
BTC 94958.92
ETH 3396.60
USDT 1.00
SBD 3.40