how to build AOSP sources? - Android Software Development

I tried to compile a AOSP based rom, but after
source build/envsetup.sh
like I do with Cm based roms
brunch is not available.
is brunch CM specific and if so what other command do I need with aosp sources?

DavidXanatos said:
I tried to compile a AOSP based rom, but after
source build/envsetup.sh
like I do with Cm based roms
brunch is not available.
is brunch CM specific and if so what other command do I need with aosp sources?
Click to expand...
Click to collapse
What is the AOSP-based ROM that you're trying to build?
Sent from my GT-S7580 using Tapatalk

it was this rom: http://forum.xda-developers.com/optimus-4x-hd/orig-development/dev-aosp-lollipop-5-0-2-t2995695
and thats the set of cammands with which it builds under bbq linux
Code:
repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r29
#add local manifest
repo sync
# apply cm 12.1 fixes ld 43 and timeconst
cd /devices/lge/p880/patches
bash ./install.sh
cd ../../../..
source build/envsetup.sh
lunch
#selech p880
# to prevent api error:
make update-api
make -j8
make -j8 otapackage

DavidXanatos said:
it was this rom: http://forum.xda-developers.com/optimus-4x-hd/orig-development/dev-aosp-lollipop-5-0-2-t2995695
and thats the set of cammands with which it builds under bbq linux
Code:
repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r29
#add local manifest
repo sync
# apply cm 12.1 fixes ld 43 and timeconst
cd /devices/lge/p880/patches
bash ./install.sh
cd ../../../..
source build/envsetup.sh
lunch
#selech p880
# to prevent api error:
make update-api
make -j8
make -j8 otapackage
Click to expand...
Click to collapse
Then use
Code:
lunch p880
make -j$(cat /proc/cpuinfo | grep "^processor" | wc -l) otapackage
instead of
Code:
brunch p880
Sent from my GT-S7580 using Tapatalk

Related

Android 4.0 ICS - getting kernel source

Im looking for the source of the kernel used in ICS.
Looks like "git://android.git.kernel.org/kernel/common" is not there.
Can some one please point me for what vertion is used in ICS and where to clone it from.
Thanks
Check this:
http://source.android.com/source/downloading.html
Google switched to their own servers since the kernel.org break-in
It does not appear to be there. Which means we would have to be patient for kernel devs to get their cook on.
Found some infos here:
http://groups.google.com/group/andr.../87d2802239d46898?show_docid=87d2802239d46898
1st
Code:
git clone https://android.googlesource.com/kernel/common.git
2nd should give you an overview
Code:
git branch -r
3rd checkout a kernel
Code:
git checkout -b android-3.0 origin/android-3.0

[guide][wip] [beginners] how to push a device tree to github

SO AS OF NOW WE HAVE GUIDES ABOUT HOW TO MAKE A KERNEL , ROM FROM SOURCE CODES..THIS GUIDE WILL TALK ABOUT PUSHING THE DEVICE TREE OR KERNEL TREE TO YOUR GITHUB ACCOUNT ...THIS IS A BEGINNER'S GUIDE IN THIS GUIDE I WILL ASSUME THAT UR BUILDING CM 11
STEP1:- CREATE A GITHUB ACCOUNT
STEP 2 :- CREATE A REPOSITORY BY CLICKING THE "+" beside ur user name and name it "android_device_samsung_i9082"
STEP 3 :- in the terminal navigate to the device folder
Code:
cd cm11/device/samsung/i9082
STEP 4 : WE ADD THE REPOSITORY TO WHICH WE HAVE TO PUSH THE FILES TO
Code:
git remote add cm https://github.com/username/android_device_samsung_i9082.git
STEP 5: we create a branch
Code:
git branch cm-11.0
Code:
git checkout cm-11.0
STEP6: WE PUSH THE THE TREE
Code:
git push -u cm cm-11.0
THIS GUIDE IS A WIP ... I WILL UPDATE IT SOON WITH PICTURES ..TO MAKE UL UNDERSTAND BETTER
CREDITS
1) @k2wl
2) help.github.com
3) @jackeagle
reserved
It would be pretty nice if you can add in on how to cherry-pick and git log --graph.Anyways,this guide is very detailed and useful overall and have an awesome say ahead [emoji1][emoji1][emoji106]
Sent from Planet Phaser
The-Grape said:
It would be pretty nice if you can add in on how to cherry-pick and git log --graph.Anyways,this guide is very detailed and useful overall and have an awesome say ahead [emoji1][emoji1][emoji106]
Sent from Planet Phaser
Click to expand...
Click to collapse
Yea sure ... As u saw .. This guide is a wip .. I will add pictures and more .. Fr users to get a better idea of how its done
rutvikrvr said:
Yea sure ... As u saw .. This guide is a wip .. I will add pictures and more .. Fr users to get a better idea of how its done
Click to expand...
Click to collapse
Thanks a lot
[GUIDE]Git Advanced Methods
Sometimes,you might be wondering how can i update the device tree without deleting my current device tree but through applying the latest changes
Well today i will teach you a new function call cherry-picking.This function is one of the most known features of git as it provides simple and easy copy-pasting job for you
First of all,add the remote first.Note:The hello is the main remote for this link
Code:
git remote add name url
eg: git remote add hello https://github.com/AOGP/android_packages_apps_Lightbulb.git
Second,fetch the remote
Code:
git fetch name
eg: git fetch hello
Thirdly,once finish fetching.Copy the commit id from github
Code:
git cherry-pick SHA-1/Commit ID
eg: git cherry-pick a7d0c5fc6df49a07855ccb36fb22fdaf321e20ba
If you faced any errors,solve them by typing and then see the red color files name in the terminal and fix them by comparing between <<<<<<<HEAD
Code:
git status
Once done solving all the errors,push the commit to github to keep the authorship of the commit as it is rude to just use their work and put yourself as author
Code:
git push [name of the remote] [your repository branch]
eg: git push origin master
guide updated in compliance with authorship of commits

[ROM] [Unofficial] | AOSPA 4+ | Weekly Update

{
"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"
}
Paranoid Android is a custom rom focused on open devices.
We aim to not simply add to Android but extend it, utilizing the same design philosophies Google uses with AOSP (Android Open Source Project).
AOSPA General Changelog​
Quote:
Code:
#include
/*
* Your warranty is now not 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.
*/
Installation Instruction
New Install
Be on a KitKat ROM before flashing
You must have a custom recovery installed that allows SELinux.
Download the Xiaomi Mi3 build .
Download the gapps
Disable True Dual Boot
Fully wipe is highly recommended.
Install AOSPA on System 1
Wipe Dalvik and Cache
Reboot
Updating
Download rom and install
Reboot
AOSPA Cancro Download Link
Useful Link
AOSPA Official Page
AOSPA Legacy Google+ Community
MIUI Forum Community
Credits
varun.chitre15, qiwu, linuxxxx, Shahan_mik3,MI3 Cancro Devs, AOSPA Devs, Cyanogenmod Devs, Omni Dev, Community
Bugs :
What generally cm/aospa have
Random reboot (deep sleep & in call)..workaround for now
HDR not working
USB otg not working
Will be added in the journey..still fresh.
How To Build From Source
CAUTION : My work is a mess cause I'm not that good at dev. Sometime build may will break or device won't boot.
Mi3 cancro device tree
Mi3 cancro vendor tree
AOSPA Legacy Source : repo init -u git://github.com/AOSPA-legacy/manifest.git -b kitkat
Local Manifest
Build script
#!/bin/bash
# Version 2.0.4, Adapted for AOSPA.
export USE_CCACHE=1
export CCACHE_DIR=/media/audahadi/b6234e42-ff56-4372-956d-184e596b9e3e/audahadi/.ccache
# We don't allow scrollback buffer
echo -e '\0033\0143'
clear
# Get current path
DIR="$(cd `dirname $0`; pwd)"
OUT="$(readlink $DIR/out)"
[ -z "${OUT}" ] && OUT="${DIR}/out"
# Prepare output customization commands
red=$(tput setaf 1) # red
grn=$(tput setaf 2) # green
blu=$(tput setaf 4) # blue
cya=$(tput setaf 6) # cyan
txtbld=$(tput bold) # Bold
bldred=${txtbld}$(tput setaf 1) # red
bldgrn=${txtbld}$(tput setaf 2) # green
bldblu=${txtbld}$(tput setaf 4) # blue
bldcya=${txtbld}$(tput setaf 6) # cyan
txtrst=$(tput sgr0) # Reset
# Local defaults, can be overriden by environment
: ${PREFS_FROM_SOURCE:="false"}
: ${THREADS:="$(cat /proc/cpuinfo | grep "^processor" | wc -l)"}
# If there is more than one jdk installed, use latest 6.x
if [ "`update-alternatives --list javac | wc -l`" -gt 1 ]; then
JDK6=$(dirname `update-alternatives --list javac | grep "\-6\-"` | tail -n1)
JRE6=$(dirname ${JDK6}/../jre/bin/java)
export PATH=${JDK6}:${JRE6}:$PATH
fi
JVER=$(javac -version 2>&1 | head -n1 | cut -f2 -d' ')
# Import command line parameters
DEVICE="$1"
EXTRAS="$2"
# Get build version
MAJOR=$(cat /media/audahadi/b6234e42-ff56-4372-956d-184e596b9e3e/audahadi/AOSPAL/vendor/pa/vendor.mk | grep 'ROM_VERSION_MAJOR := *' | sed 's/ROM_VERSION_MAJOR := //g')
MINOR=$(cat /media/audahadi/b6234e42-ff56-4372-956d-184e596b9e3e/audahadi/AOSPAL/vendor/pa/vendor.mk | grep 'ROM_VERSION_MINOR := *' | sed 's/ROM_VERSION_MINOR := //g')
MAINTENANCE=$(cat /media/audahadi/b6234e42-ff56-4372-956d-184e596b9e3e/audahadi/AOSPAL/vendor/pa/vendor.mk | grep 'ROM_VERSION_MAINTENANCE := *' | sed 's/ROM_VERSION_MAINTENANCE := //g')
TAG=$(cat /media/audahadi/b6234e42-ff56-4372-956d-184e596b9e3e/audahadi/AOSPAL/vendor/pa/vendor.mk | grep 'ROM_VERSION_TAG := *' | sed 's/ROM_VERSION_TAG := //g')
if [ -n "$TAG" ]; then
VERSION=$MAJOR.$MINOR$MAINTENANCE-$TAG
else
VERSION=$MAJOR.$MINOR$MAINTENANCE
fi
# If there is no extra parameter, reduce parameters index by 1
if [ "$EXTRAS" == "true" ] || [ "$EXTRAS" == "false" ]; then
SYNC="$2"
UPLOAD="$3"
else
SYNC="$3"
UPLOAD="$4"
fi
# Get start time
res1=$(date +%s.%N)
echo -e "${cya}Building ${bldcya}AOSPA $VERSION for $DEVICE ${txtrst}";
echo -e "${bldgrn}Start time: $(date) ${txtrst}"
# Decide what command to execute
case "$EXTRAS" in
threads)
echo -e "${bldblu}Please enter desired building/syncing threads number followed by [ENTER]${txtrst}"
read threads
THREADS=$threads
;;
clean|cclean)
echo -e "${bldblu}Cleaning intermediates and output files${txtrst}"
export CLEAN_BUILD="true"
[ -d "${DIR}/out" ] && rm -Rf ${DIR}/out/*
;;
esac
echo -e ""
export DEVICE=cancro
# Fetch latest sources
if [ "$SYNC" == "true" ]; then
echo -e ""
echo -e "${bldblu}Fetching latest sources${txtrst}"
repo sync -j"$THREADS"
echo -e ""
fi
if [ ! -r "${DIR}/out/versions_checked.mk" ] && [ -n "$(java -version 2>&1 | grep -i openjdk)" ]; then
echo -e "${bldcya}Your java version still not checked and is candidate to fail, masquerading.${txtrst}"
JAVA_VERSION="java_version=${JVER}"
fi
if [ -n "${INTERACTIVE}" ]; then
echo -e "${bldblu}Dropping to interactive shell${txtrst}"
echo -en "${bldblu}Remeber to lunch you device:"
if [ "${VENDOR}" == "pa" ]; then
echo -e "[${bldgrn}lunch pa_$DEVICE-userdebug${bldblu}]${txtrst}"
else
echo -e "[${bldgrn}lunch full_$DEVICE-userdebug${bldblu}]${txtrst}"
fi
bash --init-file build/envsetup.sh -i
else
# Setup environment
echo -e ""
echo -e "${bldblu}Setting up environment${txtrst}"
. build/envsetup.sh
echo -e ""
# lunch/brunch device
echo -e "${bldblu}Lunching device [$DEVICE] ${cya}(Includes dependencies sync)${txtrst}"
export PREFS_FROM_SOURCE
lunch "pa_$DEVICE-userdebug";
echo -e "${bldblu}Starting compilation${txtrst}"
mka bacon
fi
echo -e ""
# Get elapsed time
res2=$(date +%s.%N)
echo -e "${bldgrn}Total time elapsed: ${txtrst}${grn}$(echo "($res2 - $res1) / 60"|bc ) minutes ($(echo "$res2 - $res1"|bc ) seconds)${txtrst}"
Note 2 : Change this path "/media/audahadi/b6234e42-ff56-4372-956d-184e596b9e3e/audahadi" to your working directory
Note 3 : Add this to vendor/pa
Path : vendor/pa/vendorsetup.sh
add_lunch_combo pa_cancro-userdebug
Path : vendor/pa/products/AndroidProducts.mk
ifeq (pa_cancro,$(TARGET_PRODUCT))
PRODUCT_MAKEFILES += $(LOCAL_DIR)/pa_cancro.mk
endif
Path : vendor/pa/products/pa_cancro.mk
# Copyright (C) 2014 ParanoidAndroid Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Check for target product
ifeq (pa_cancro,$(TARGET_PRODUCT))
# OVERLAY_TARGET adds overlay asset source
OVERLAY_TARGET := pa_xxhdpi
# Build paprefs from sources
PREFS_FROM_SOURCE ?= false
# Inherit telephony common stuff
$(call inherit-product, vendor/pa/configs/telephony.mk)
# Include AOSPA common configuration
include vendor/pa/main.mk
# Inherit device configuration
$(call inherit-product, device/xiaomi/cancro/full_cancro.mk)
# Override AOSP build properties
PRODUCT_DEVICE := cancro
PRODUCT_NAME := pa_cancro
PRODUCT_BRAND := xiaomi
PRODUCT_MODEL := MI 3W
PRODUCT_MANUFACTURER := Xiaomi
# Set build fingerprint / ID / Product Name ect.
PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=cancro TARGET_DEVICE=cancro
endif
Nice one..
Sent from my MI 3W
Waiting for it. Finally!! Thanks man.
Any problem with installing rom? Got pm someone mention it.
Sent from my Mi3 using Tapatalk
audahadi said:
Any problem with installing rom? Got pm someone mention it.
Sent from my Mi3 using Tapatalk
Click to expand...
Click to collapse
Chkout the miui thread for ur rom
http://en.miui.com/thread-42417-1-1.html
Shahan_mik3 said:
Chkout the miui thread for ur rom
http://en.miui.com/thread-42417-1-1.html
Click to expand...
Click to collapse
Not my rom..AOSPA..[emoji13]..Just mirror download link if you want too... Just for reminder..mostly I'm on xda..so won't check issue there much.
Sent from my Mi3 using Tapatalk
audahadi said:
Not my rom..AOSPA..[emoji13]..Just mirror download link if you want too... Just for reminder..mostly I'm on xda..so won't check issue there much.
Sent from my Mi3 using Tapatalk
Click to expand...
Click to collapse
Yes the thread is yet to be modified did it in a hurry.. Will give credits after u updated the thread.
Also I will remove the download link as more ppl will visit the thread to download ur ROM
We will do our best to resolve it or they will be redirected here
can't install
audahadi said:
Any problem with installing rom? Got pm someone mention it.
Sent from my Mi3 using Tapatalk
Click to expand...
Click to collapse
hey OP,
thanks for the efforts for getting PA to our Mi3
Unfortunately, when i download the zip file and move it to my phone, i'm getting an error "This device has either stopped responding or has been disconnected"
It happens only on your zip, when transferring to the sd card. Any other file can be transferred without issues.
I also noticed that in the file's properties, it is set to block (as it apparently came from another source), and there's an unblock button available for you to click on.
Did that and the same thing happened.
However, changing the file ext from zip to .txt allows me to transfer the file easily to my phone. I changed it back to .zip, rebooted to recovery and flashed the rom but failed - I didn't get the error but it somehow refers to the file as corrupted or non-supported.
Any help will be greatly appreciated! We're talking about PA here - AOSPA so I'm very excited about it!
Sorry for corrupt zip. This is new build.
https://docs.google.com/file/d/0B3JXRJM_jo8LQ1BzLXdCb3JBM1k/edit?usp=docslist_api
*fix auto brightness
*add notification led
Sent from my MI 3W using Tapatalk
audahadi said:
Sorry for corrupt zip. This is new build.
https://docs.google.com/file/d/0B3JXRJM_jo8LQ1BzLXdCb3JBM1k/edit?usp=docslist_api
*fix auto brightness
*add notification led
Sent from my MI 3W using Tapatalk
Click to expand...
Click to collapse
Also your ROM is in wrong section
It should be in android development but is in general.
Shahan_mik3 said:
Also your ROM is in wrong section
It should be in android development but is in general.
Click to expand...
Click to collapse
Mod edit until I revamp my OP (this weekend-busy days). Will do proper with all guide and credits.
Sent from my MI 3W using Tapatalk
audahadi said:
Mod edit until I revamp my OP (this weekend-busy days). Will do proper with all guide and credits.
Sent from my MI 3W using Tapatalk
Click to expand...
Click to collapse
You can just copy paste from miui thread and edit credit part.
For now then properly edit it later
audahadi said:
Sorry for corrupt zip. This is new build.
https://docs.google.com/file/d/0B3JXRJM_jo8LQ1BzLXdCb3JBM1k/edit?usp=docslist_api
*fix auto brightness
*add notification led
Sent from my MI 3W using Tapatalk
Click to expand...
Click to collapse
thanks for this, i had problems too with previous zip. will try asap.
what do you mean with auto brightness fixed? i mean, it doesn't even work in cm...?!
thanks!!
audahadi said:
Sorry for corrupt zip. This is new build.
https://docs.google.com/file/d/0B3JXRJM_jo8LQ1BzLXdCb3JBM1k/edit?usp=docslist_api
*fix auto brightness
*add notification led
Sent from my MI 3W using Tapatalk
Click to expand...
Click to collapse
Also Dynamic statusbar is not available. can you please confirm if its available in the build???
moly82 said:
thanks for this, i had problems too with previous zip. will try asap.
what do you mean with auto brightness fixed? i mean, it doesn't even work in cm...?!
thanks!!
Click to expand...
Click to collapse
Don't try cm yet...but my previous build can't enable auto brightness..
Missing config.
Shahan_mik3 said:
Also Dynamic statusbar is not available. can you please confirm if its available in the build???
Click to expand...
Click to collapse
Dynamic status bar and new recent not available in unofficial build. Need to wait for PA release source and got merge in aospa-legacy source.
Sent from my MI 3W using Tapatalk
audahadi said:
Don't try cm yet...but my previous build can't enable auto brightness..
Missing config.
Dynamic status bar and new recent not available in unofficial build. Need to wait for PA release source and got merge in aospa-legacy source.
Sent from my MI 3W using Tapatalk
Click to expand...
Click to collapse
It is available for legacy devices dude....I tried it on my galaxy s2 2/9 build
Shahan_mik3 said:
It is available for legacy devices dude....I tried it on my galaxy s2 2/9 build
Click to expand...
Click to collapse
yup it is work with legacy device, but mi3 is not yet a PA legacy device....
i04055 said:
yup it is work with legacy device, but mi3 is not yet a PA legacy device....
Click to expand...
Click to collapse
I know...he told the sources are not merged for legacy device that's why I told.
Shahan_mik3 said:
I know...he told the sources are not merged for legacy device that's why I told.
Click to expand...
Click to collapse
Unofficial mean device that not officially supported by PA members. PA build internally for rom released. Not directly from their source. When features is stable, they will release source.
Sent from my MI 3W using Tapatalk

[Q] How to switch branches with repo

As I get more into android development for the Nexus 6 I have yet to figure out how to update to the latest android build while leaving my local changes. So for example I am working on 5.0.0 and made changes. Now 5.0.2 is out I want to update to that build. The only I have found is going a repo init but to my knowledge this wipes out your changes. Is there a way to switch and merge your local changes?
Thanks in advance
http://gitref.org/
DSA said:
http://gitref.org/
Click to expand...
Click to collapse
So say I have a change in every git repo, would doing those commands through a `repo forall` be the proper way?
sorry, use this one instead:
http://jonas.nitro.dk/git/quick-reference.html
just an example:
Code:
Branches:
git checkout branch Switch working tree to branch
-b branch Create branch before switching to it
git branch List local branches
git branch -f branch rev Overwrite existing branch, start from revision
git merge branch Merge changes from branch
or this:
https://confluence.atlassian.com/display/STASH/Basic+Git+commands
another similar example:
Branches
Create a new branch and switch to it: git checkout -b <branchname>
Switch from one branch to another: git checkout <branchname>
List all the branches in your repo, and also tell you what branch you're currently in: git branch
Delete the feature branch: git branch -d <branchname>
Push the branch to your remote repository, so others can use it: git push origin <branchname>
Push all branches to your remote repository: git push --all origin
Delete a branch on your remote repository: git push origin :<branchname
Click to expand...
Click to collapse

[Q] Dev question about repo for cm13?

Hi, whats the latest repo for cm13 for hlte?
Is this the correct line for it?
Code:
repo init -u https://github.com/CyanogenMod/android.git -b cm-12.1
im following the guide from here: https://wiki.cyanogenmod.org/w/Build_for_hlte
and im in exactly that step, what should i type? i wan't cm13 not 12.1 xD
sorry for these noob questions but i figured it would be fun to learn ^^

Categories

Resources