Hi there!
I'm trying to compile ics from source (AOSP), but i'm having some problems, hope some people can help me out.
I'm on Ubuntu 10.04, i have sun-java6-jdk and all the neccesairy packages installed. And of course, I want to compile for our nice Desire S.
i'm running into two issues.
1. i've been searching GitHub for device files, but i only found CM9 ones (which i can't use because they are for compiling cm9), and ics saga proprietary files, thanks to koush.
2. when i try and build for any device (for example here maguro), i get the message:
Code:
make: *** No rule to make target '/lib/tools.jar', needed by 'out/target/common/docs/doc-comment-check-timestamp'. Stop.
Can you guys help me out?
FIXING THE ISSUES
Issue 1
- pulled files from m-deejay his git.
Issue 2
I fixed the 2nd problem by throwing the command:
Code:
export ANDROID_JAVA_HOME=$JAVA_HOME
Issue 3
See 3rd post in this thread.
The device tree from nexx's github is your best bet. The only other one there is for the desire s can be found on m-deejay's github but it's quite old. You can get the proprietary files by running the extract-files.sh found in the device folder while your phone is connected with adb.
Sent from my Desire S using Tapatalk 2
k. i got the saga files from m-deejays source and i got the proprietary files. now i got this issue...
Code:
build/core/base_rules.mk:78: *** Module name: lights.msm7x30
build/core/base_rules.mk:79: *** Makefile location: hardware/msm7k/liblights
build/core/base_rules.mk:80: *
build/core/base_rules.mk:81: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:82: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:83: *
build/core/base_rules.mk:84: * optional, debug, eng, tests, samples
build/core/base_rules.mk:85: *
build/core/base_rules.mk:86: * If the module is expected to be in all builds
build/core/base_rules.mk:87: * of a product, then it should use the
build/core/base_rules.mk:88: * "optional" tag:
build/core/base_rules.mk:89: *
build/core/base_rules.mk:90: * Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:91: * Android.mk for the affected module, and add
build/core/base_rules.mk:92: * the LOCAL_MODULE value for that component
build/core/base_rules.mk:93: * into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:94: * makefile(s) where it's necessary, if
build/core/base_rules.mk:95: * appropriate.
build/core/base_rules.mk:96: *
build/core/base_rules.mk:97: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:98: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:99: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:100: * build/target/product/core.mk
build/core/base_rules.mk:101: *
build/core/base_rules.mk:102: *** user tag detected on new module - user tags are only supported on legacy modules. Stop.
any idea?
djpbx said:
k. i got the saga files from m-deejays source and i got the proprietary files. now i got this issue...
Code:
build/core/base_rules.mk:78: *** Module name: lights.msm7x30
build/core/base_rules.mk:79: *** Makefile location: hardware/msm7k/liblights
build/core/base_rules.mk:80: *
build/core/base_rules.mk:81: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:82: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:83: *
build/core/base_rules.mk:84: * optional, debug, eng, tests, samples
build/core/base_rules.mk:85: *
build/core/base_rules.mk:86: * If the module is expected to be in all builds
build/core/base_rules.mk:87: * of a product, then it should use the
build/core/base_rules.mk:88: * "optional" tag:
build/core/base_rules.mk:89: *
build/core/base_rules.mk:90: * Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:91: * Android.mk for the affected module, and add
build/core/base_rules.mk:92: * the LOCAL_MODULE value for that component
build/core/base_rules.mk:93: * into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:94: * makefile(s) where it's necessary, if
build/core/base_rules.mk:95: * appropriate.
build/core/base_rules.mk:96: *
build/core/base_rules.mk:97: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:98: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:99: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:100: * build/target/product/core.mk
build/core/base_rules.mk:101: *
build/core/base_rules.mk:102: *** user tag detected on new module - user tags are only supported on legacy modules. Stop.
any idea?
Click to expand...
Click to collapse
Yes, switch to the repo from nexx, m-deejay made the last commit 4 months ago.
If you don't want to, add
Code:
LOCAL_MODULE_TAGS := optional
at hardware/msm7k/liblights/Android.mk and also
Code:
lights.msm7x30
at device/htc/saga/saga.mk at the PRODUCT_PACKAGES key.
Tectas said:
Yes, switch to the repo from nexx, m-deejay made the last commit 4 months ago.
If you don't want to, add
Code:
LOCAL_MODULE_TAGS := optional
at hardware/msm7k/liblights/Android.mk and also
Code:
lights.msm7x30
at device/htc/saga/saga.mk at the PRODUCT_PACKAGES key.
Click to expand...
Click to collapse
thanks!
but when i add nexx' repo files, lunch gives me only the option for cm saga build. is that ok too?
djpbx said:
thanks!
but when i add nexx' repo files, lunch gives me only the option for cm saga build. is that ok too?
Click to expand...
Click to collapse
Should not matter, but you can change it inside device/HTC/saga/cm.mk at PRODUCT_NAME.
Gesendet von meinem HTC Desire S mit Tapatalk 2
Tectas said:
Should not matter, but you can change it inside device/HTC/saga/cm.mk at PRODUCT_NAME.
Gesendet von meinem HTC Desire S mit Tapatalk 2
Click to expand...
Click to collapse
- k, downloaded nexx' source, corrected the name (for lunch) to full_saga-userdebug instead of cm_saga-userdebug in vendorsetup.sh
- lunched
- got the same lights issue, got it fixed
- got a similar error about gralloc.msm7x30. added the optional local module tags too, at the top of the file (underneath the license blabla), added gralloc.msm7x30 to device.mk at the right place, but still got the error. any idea?
Sorry if not relevant but have you tried with brunch instead? I saw here that lunch is good for building for Android emulator and unsupported devices. But since Nexx is working on it mka bacon may be functional... Just an assumptions since I have no dev experience
amidabuddha said:
Sorry if not relevant but have you tried with brunch instead? I saw here that lunch is good for building for Android emulator and unsupported devices. But since Nexx is working on it mka bacon may be functional... Just an assumptions since I have no dev experience
Click to expand...
Click to collapse
Going to give it a shot asap
Lol. did not even recognise lunch, breakfast, brunch or mka.
aren't they CM specific build commands? I try to build AOSP...
-------------------
nevermind. got past all the issues (placed the local module tags everywhere 'make' asked me to.
but, this error is weird. anyone know the fix?
Code:
make: *** No rule to make target `hardware/qcom/gps/loc_api/libloc_api-rpc/inc-50000/loc_api_cb.h', needed by `out/target/product/saga/obj/include/libloc_api-rpc/inc/loc_api_cb.h'. Stop.
make: *** Waiting for unfinished jobs....
Header: out/target/product/saga/obj/include/librpc/rpc/xdr.h
[email protected]:~/WORKING_ANDROIDSOURCE$
----------------
k, found out i' m missing the hardware/qcom/gps/loc_api/libloc_api-rpc/inc-50000/ folder, any idea how i should get it?
Repo syncing anyways.
Hi there, an update
So i switched to the CM9 source, and got it to build very easily. make otapackage and flashed it to my device. used nexx' kernel / modules just to be sure.
now i got this error:
Code:
I/ServiceManager( 1203): service 'media.audio_flinger' died
I/ServiceManager( 1203): service 'media.player' died
I/ServiceManager( 1203): service 'media.camera' died
I/ServiceManager( 1203): service 'media.audio_policy' died
at the end of my logcat, which causes a bootloop.
any idea?
Are you by any chance using Ubuntu 12.04? I am on it and facing exactly the same errors as you. I have a build without errors but ending in a bootloop. Today will try with 10.04 hoping that this is the problem. If in the meantime you find a solution please share.
Sent from my HTC Desire S
I found the issue already. Ill forward you a pm from nexx
Sent from my Desire S using XDA
Related
hey people ,i want to port android 2.3.7/4.0 from source for this phone
i might fail to,so dont abuse me(i got **** pc hardware)+ newbie
expecting cooperation from u guys
Peace
Problem i face:
:Im in real sh!t right now
git servers abandoned me and i face this error after having somehos downloaded for 3 hours:
Code:
From git://github.com/oxygen-rom/android_device_samsung_crespo
* [new tag] cm-7.0.0 -> cm-7.0.0
* [new tag] cm-7.0.1 -> cm-7.0.1
* [new tag] cm-7.0.2.1 -> cm-7.0.2.1
* [new tag] cm-7.0.3 -> cm-7.0.3
* [new tag] cm-7.1.0 -> cm-7.1.0
fatal: remote error:
Could not find Repository oxygen-rom/android_device_samsung_crespo4g
fatal: remote error:
Could not find Repository oxygen-rom/android_device_samsung_crespo4g
error: Cannot fetch oxygen-rom/android_device_samsung_crespo4g
[/B]
in layman's terms,this means that i am unable to download oxygen sources!
==================================EDIT=================================================
And to mess it up even more,i am unable to download even the stock aosp kernel!
Code:
[email protected]:/home/sarthak/android/system# git clone git://android.git.kernel.org/platform/manifest.git -b gingerbread
Cloning into manifest...
android.git.kernel.org[0: 149.20.4.77]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
looks like they hate i9003 lol!
Click to expand...
Click to collapse
reserved for future
w8 your rom.
reserved for future use
reserved.................
sakindia123 said:
hey people ,i want to port android 2.3.7 from source for this phone(or i might try oxygen rom too)
i might fail to,so dont abuse me(i got **** pc hardware)
expecting cooperation from u guys
Peace
Click to expand...
Click to collapse
dont simply blame it on the hardware hahaha
its not that easy,youll face the same problem codeworkx is facing you require aosp drivers.
yamchirobe said:
its not that easy,youll face the same problem codeworkx is facing you require aosp drivers.
Click to expand...
Click to collapse
yes i know its not copy paste,i will first try to compile the stock kernel and then the rom
Dont u feel one should try?
I like your spirit
You never know what you can do until you don't try.
If you don't want to waste your time then research hard before start.
Sent from my GT-I9003 using Tapatalk
manrock111 said:
I like your spirit
You never know what you can do until you don't try.
If you don't want to waste your time then research hard before start.
Sent from my GT-I9003 using Tapatalk
Click to expand...
Click to collapse
thats exactly what i;ve been doing for 2 months
Great buddy... We are with you
Thanks! Good luck, and (try to) have fun
go for it.. i knw i cant be of any use but still... let us knw if you need a lil help...
of course i will need help(in form of testers and dev support)
i have a strange request:can someone upload the android source code for me on a torrent site?i cant download 2.6 gb due to frequent power cuts
sakindia123 said:
of course i will need help(in form of testers and dev support)
i have a strange request:can someone upload the android source code for me on a torrent site?i cant download 2.6 gb due to frequent power cuts
Click to expand...
Click to collapse
Can't you use a download manager like fdm (free download manager) to pause / resume downloads. torrents speed will be really bad, especially without many seeders.
amit864 said:
Can't you use a download manager like fdm (free download manager) to pause / resume downloads. torrents speed will be really bad, especially without many seeders.
Click to expand...
Click to collapse
source is not like a pirated game or something that can be downloaded like that!
it has to be synced to github to download,and that too via terminal
I think it is a very good idea and if you are ambitious, you will be able to do it, with the help of the people of this forum. I would like to know anythink to help but I don't.. Don't give up this project sakindia, I think you can...
what i fear is that i might not get anything to work (like data,wifi,gps etc)
SEE ^^
sakindia123 said:
source is not like a pirated game or something that can be downloaded like that!
it has to be synced to github to download,and that too via terminal
Click to expand...
Click to collapse
I don't understand how you would sync git over torrents.
Anyways, post me a link to sources and I will download and create a torrent which seeds @ 1mbps.
PS: what's with the condescending tone?
By google:
After installing Repo, set up your client to access the android source repository:
Create an empty directory to hold your working files. Give it any name you like:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
Run repo init to bring down the latest version of Repo with all its most recent bug fixes. You must specify a URL for the manifest, which specifies where the various repositories included in the Android source will be placed within your working directory.
$ repo init -u https://android.googlesource.com/platform/manifest
To check out a branch other than "master", specify it with -b:
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.7_r1
When prompted, please configure Repo with your real name and email address. To use the Gerrit code-review tool, you will need an email address that is connected with a registered Google account. Make sure this is a live address at which you can receive messages. The name that you provide here will show up in attributions for your code submissions.
A successful initialization will end with a message stating that Repo is initialized in your working directory. Your client directory should now contain a .repo directory where files such as the manifest will be kept.
Getting the files
To pull down files to your working directory from the repositories as specified in the default manifest, run
$ repo sync
This great rom is build from source. I just compiled it while the PSX team did all the work. A little about the rom:
Welcome to Pure Speed X
PSX is a fast, built from AOSP source (4.4.2) Rom with an emphasis on speed and performance. Our goal is to provide unrivaled performance, stability, and a lightweight Rom with a handful of valuable features. We are not, nor ever will be focused on adding every feature out there. We will always be searching for ways to make it faster, more stable, more secure, and feature rich, but never at the cost of performance.
PSX V3
This version has all the features listed below. It is complete and not much work is being done on it. The new project will be called PSX Fat Lady.
PSX Light
This is the newest branch. Everything is being built from ground up. This is purely for performance and speed. No added features just pure optimizations. PSX Fat Lady will be based on this version. PSX Light is more up to date, but lacks features.
Team PSX Consists of:
ctfrommn
rustyjay
Martin_Ro
Banks
dully79
All the thanks goes out to those developers mentioned above for coming up with such a fantastic rom.
Directions
Download Rom, GApps, and SuperSu
Reboot into recovery
Make nandroid
Factory reset or wipe dalvik/cache/system/data
Flash Rom, GApps, and SuperSu
If ROM fails to flash, reboot into recovery and try again
Enjoy the Best Rom
Features/Changelog
Active Display
Quick Settings customization
Double Tap to Sleep
Quiet Hours
Immersive Mode/Tile
Lock Screen Targets
Status Bar tweaks
Navigation Bar tweaks
Optimizations
Much much more
PLSX FINAL
PSX_GROUPER_LIGHT 2014-02-20
PSX_FatLady Feb 24, 2014
psx_grouper_2014_02_23
Downloads PSX V3
PSX Grouper 30-01-14 MIRROR
PSX GApps
PA GApps
SuperSu
Source Code
Team Slim
Team Omni
Team CM
Vanir AOSP
Team Codefire
Team PA
@rascarlo
Source
PSX Github
Screenshots
Settings
Interface
About Tablet
Downloading now. Just can't resist the promise of something unique.
Sent from my Nexus 7 using Tapatalk
TardyKilla said:
Downloading now. Just can't resist the promise of something unique.
Sent from my Nexus 7 using Tapatalk
Click to expand...
Click to collapse
Hopefully you won't be disappointed. I've always used CM since CM5. Since I was introduced to this rom for my phone about a month ago, there's no looking back to any other rom for me.
This is the stable build with no other additions. The team is working on a psx-light (speed and performance with very few features). Once that's done, they'll add a psx-fat lady version with the usual customizations.
Anyway, this rom is stable with many features. Hope you all enjoy it or at least give it a shot.
this is one of the best on hammerhead (for me) i'm trying plsx and i love it because it has useful features... and is very stable & fast
is great to see a psx build on Nexus 7 too!
why don't You ask to the team (on their forum) to become official mantainer..?
thanks for the build
enricocid said:
this is one of the best on hammerhead (for me) i'm trying plsx and i love it because it has useful features... and is very stable & fast
is great to see a psx build on Nexus 7 too!
why don't You ask to the team (on their forum) to become official mantainer..?
thanks for the build
Click to expand...
Click to collapse
I'm using PSX on the LG Optimus G. It's pretty amazing. I build PLSX for Grouper and the Optimus G, but I need Active Display at the minimum. Gotten so used to active display, can't do without it. Is there an xposed module that does that?
I don't want to become an official maintainer. Don't want the responsibility of building in a timely manner. This way, I can build and release whenever. This PSX build is pretty complete and I doubt any changes will be made to it since they started re-basing everything off PSX-Light. Once PSX-Fat Lady is up, I'll build and post.
jblazea50 said:
I'm using PSX on the LG Optimus G. It's pretty amazing. I build PLSX for Grouper and the Optimus G, but I need Active Display at the minimum. Gotten so used to active display, can't do without it. Is there an xposed module that does that?
I don't want to become an official maintainer. Don't want the responsibility of building in a timely manner. This way, I can build and release whenever. This PSX build is pretty complete and I doubt any changes will be made to it since they started re-basing everything off PSX-Light. Once PSX-Fat Lady is up, I'll build and post.
Click to expand...
Click to collapse
Pick this commits for active display
http://forum.xda-developers.com/showpost.php?p=45736797&postcount=2
Please add Screenshot
matqow said:
Please add Screenshot
Click to expand...
Click to collapse
It's an AOSP rom. Screenshots will look similar to any other AOSP rom. I did put some dropbox link for Settings, Interface, and About Tablet screens.
Great to see @enricocid on the boards! I'm still using little bro's Advanced Stock Rom, but I feel the urge to upgrade to a rom build on KK. This looks like it might do the trick! (and thanks again to you and Ivn88 for your previous contributions!)
And thanks to OP for bringing this to us! Will flash later tonight and report back. BTW; is there a requirement to flash using a specific recovery?
orlzzt said:
Great to see @enricocid on the boards! I'm still using little bro's Advanced Stock Rom, but I feel the urge to upgrade to a rom build on KK. This looks like it might do the trick! (and thanks again to you and Ivn88 for your previous contributions!)
And thanks to OP for bringing this to us! Will flash later tonight and report back. BTW; is there a requirement to flash using a specific recovery?
Click to expand...
Click to collapse
I doubt it as long as you are using the latest recovery. I think I'm on 2.6.3.0 TWRP. If after you make nandroid and do factory reset, then the rom fail to flash, you reboot into recovery and try again.
jblazea50 said:
I doubt it as long as you are using the latest recovery. I think I'm on 2.6.3.0 TWRP. If after you make nandroid and do factory reset, then the rom fail to flash, you reboot into recovery and try again.
Click to expand...
Click to collapse
I had the same problem using TWRP 2.6.3.1. When I rebooted into recovery had to root again. Then installed ROM, Capps and SU. All good now. Thank you.
Sent from my VS980 4G using Tapatalk
55Pegasus said:
I had the same problem using TWRP 2.6.3.1. When I rebooted into recovery had to root again. Then installed ROM, Capps and SU. All good now. Thank you.
Sent from my VS980 4G using Tapatalk
Click to expand...
Click to collapse
Yup, on first attempt the PSX zip failed; I rebooted recovery and then everything worked like a charm. Restoring my apps now; first impression is that this rom rocks! Very nice work, and thanks to all of you for your help and advice on installing. I'll report back if anything borks.
This is my first attempt at a KK rom (my GS3 is still on 4.1.2 JB), so I'm really excited about test driving this! Thanks!
enricocid said:
Pick this commits for active display
http://forum.xda-developers.com/showpost.php?p=45736797&postcount=2
Click to expand...
Click to collapse
I tried to cherry pick the commits. I got this:
Code:
error: could not apply 0657865... active display settings
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'
Recorded preimage for 'src/com/android/settings/Settings.java'
jblazea50 said:
I tried to cherry pick the commits. I got this:
Code:
error: could not apply 0657865... active display settings
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'
Recorded preimage for 'src/com/android/settings/Settings.java'
Click to expand...
Click to collapse
try
Code:
git status
what is the output?
First 12 hours, and I can say this thing is a BEAST! Very fast; easy install; everything working! JBlaze did not lie when he said this thing had some legs on her. Speed is nice, but I have to say, never having been one to toy around with CM builds (I'm a TouchWiz guy from the GS3 forums) this has features on it that are really amazing! Thanks again to the team and to the OP for bringing this to us. @TexasLTE, can a brother get a Nexus 7 (2012) banner with some PSX graphics, and a big "Amen"?!
I've build PLSX (PSX-light). This is the new project and it mostly bare bones with just speed enhancements. You can install Xposed Framework and Gravity Box to get majority of the features that pleases you. If anyone wants to test it out, here are the links:
psx-light grouper 2014-02-01
Mirror
orlzzt said:
@TexasLTE, can a brother get a Nexus 7 (2012) banner with some PSX graphics...
Click to expand...
Click to collapse
:fingers-crossed: ...see if this looks OK... :fingers-crossed:
http://i1202.photobucket.com/albums/bb374/TexasEpic/Requested%20Banners/orlzzt-Nexus7_zps315f682e.png
TexasLTE said:
:fingers-crossed: ...see if this looks OK... :fingers-crossed:
http://i1202.photobucket.com/albums/bb374/TexasEpic/Requested%20Banners/orlzzt-Nexus7_zps315f682e.png
Click to expand...
Click to collapse
Llloovvvee it!! Love it love it love it! Thanks! Check your Red Bull account!
enricocid said:
try
Code:
git status
what is the output?
Click to expand...
Click to collapse
Code:
[email protected]:~/psx-light/frameworks/base$ git status
# HEAD detached at 0324d29
# You are currently cherry-picking.
# (fix conflicts and run "git commit")
#
# Changes to be committed:
#
# modified: core/java/android/app/INotificationManager.aidl
# new file: packages/SystemUI/res/drawable-hdpi/ic_ad_dismiss_notification_activated.png
# new file: packages/SystemUI/res/drawable-hdpi/ic_ad_dismiss_notification_normal.png
# new file: packages/SystemUI/res/drawable-hdpi/ic_ad_lock_pressed.png
# new file: packages/SystemUI/res/drawable-hdpi/ic_ad_morenotifications.png
# new file: packages/SystemUI/res/drawable-hdpi/ic_ad_target_unlock_activated.png
# new file: packages/SystemUI/res/drawable-hdpi/ic_ad_target_unlock_normal.png
# new file: packages/SystemUI/res/drawable-hdpi/ic_ad_unknown_icon.png
# new file: packages/SystemUI/res/drawable-hdpi/ic_ad_unlock.png
# new file: packages/SystemUI/res/drawable-hdpi/ic_handle_notification_normal.png
# new file: packages/SystemUI/res/drawable-mdpi/ic_ad_dismiss_notification_activated.png
# new file: packages/SystemUI/res/drawable-mdpi/ic_ad_dismiss_notification_normal.png
# new file: packages/SystemUI/res/drawable-mdpi/ic_ad_lock_pressed.png
# new file: packages/SystemUI/res/drawable-mdpi/ic_ad_morenotifications.png
# new file: packages/SystemUI/res/drawable-mdpi/ic_ad_target_unlock_activated.png
# new file: packages/SystemUI/res/drawable-mdpi/ic_ad_target_unlock_normal.png
# new file: packages/SystemUI/res/drawable-mdpi/ic_ad_unknown_icon.png
# new file: packages/SystemUI/res/drawable-mdpi/ic_ad_unlock.png
# new file: packages/SystemUI/res/drawable-mdpi/ic_handle_notification_normal.png
# new file: packages/SystemUI/res/drawable-xhdpi/ic_ad_dismiss_notification_activated.png
# new file: packages/SystemUI/res/drawable-xhdpi/ic_ad_dismiss_notification_normal.png
# new file: packages/SystemUI/res/drawable-xhdpi/ic_ad_lock_pressed.png
# new file: packages/SystemUI/res/drawable-xhdpi/ic_ad_morenotifications.png
# new file: packages/SystemUI/res/drawable-xhdpi/ic_ad_target_unlock_activated.png
# new file: packages/SystemUI/res/drawable-xhdpi/ic_ad_target_unlock_normal.png
# new file: packages/SystemUI/res/drawable-xhdpi/ic_ad_unknown_icon.png
# new file: packages/SystemUI/res/drawable-xhdpi/ic_ad_unlock.png
# new file: packages/SystemUI/res/drawable-xhdpi/ic_handle_notification_normal.png
# new file: packages/SystemUI/res/drawable/ad_active_notification_background.xml
# new file: packages/SystemUI/res/drawable/ic_ad_dismiss_notification.xml
# new file: packages/SystemUI/res/drawable/ic_ad_target_unlock.xml
# new file: packages/SystemUI/res/layout-land/active_display_content.xml
# new file: packages/SystemUI/res/layout/active_display.xml
# new file: packages/SystemUI/res/layout/active_display_content.xml
# new file: packages/SystemUI/res/layout/glow_pad_container.xml
# new file: packages/SystemUI/res/layout/glow_pad_view.xml
# new file: packages/SystemUI/res/values/vendor_arrays.xml
# new file: packages/SystemUI/res/values/vendor_dimens.xml
# new file: packages/SystemUI/res/values/vendor_donottranslate.xml
# new file: packages/SystemUI/res/values/vendor_styles.xml
# modified: packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
# modified: packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
# new file: packages/SystemUI/src/com/android/systemui/statusbar/policy/activedisplay/ActiveDisplayView.java
# new file: packages/SystemUI/src/com/android/systemui/statusbar/policy/activedisplay/ClockView.java
# new file: packages/SystemUI/src/com/android/systemui/statusbar/policy/activedisplay/DummyActivity.java
# modified: services/java/com/android/server/NotificationManagerService.java
#
# Unmerged paths:
# (use "git add <file>..." to mark resolution)
#
# both modified: core/res/AndroidManifest.xml
# both modified: packages/SystemUI/AndroidManifest.xml
#
i'm assuming i have to type following commands:
git add core/res/AndroidManifest.xml
git add packages/SystemUI/AndroidManifest.xml
Here's what I get for one of the packages_apps_Settings cherry-pick:
Code:
[email protected]:~/psx-light/packages/apps/Settings$ git cherry-pick 0e508d62622c403ab99655a1eb7e14b3fcaa18d8
error: could not apply 0e508d6... Add active display to ChameleonOS [2/2]
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'
Recorded preimage for 'res/values/arrays.xml'
Recorded preimage for 'res/values/strings.xml'
[email protected]:~/psx-light/packages/apps/Settings$ git status
# HEAD detached at 311aaf6
# You are currently cherry-picking.
# (fix conflicts and run "git commit")
#
# Changes to be committed:
#
# new file: res/xml/active_display_settings.xml
# new file: src/com/android/settings/chameleonos/ActiveDisplaySettings.java
#
# Unmerged paths:
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: res/values/arrays.xml
# both modified: res/values/strings.xml
# deleted by us: res/xml/system_settings.xml
#
Do I also need to "git add" both modified files as well as the one deleted (res/xml/system_settings.xml)?
orlzzt said:
Llloovvvee it!! Love it love it love it! Thanks! Check your Red Bull account!
Click to expand...
Click to collapse
Glad U liked it and THX !
Huawei has opened the sources (6.0 Marshmallow) for mate7 chinese version.Who can build a full-working (include fingerprint) rom for it?Hope to success.
Dont laugh at my poor English...
jsdfly said:
Huawei has opened the sources (6.0 Marshmallow) for mate7 chinese version.Who can build a full-working (include fingerprint) rom for it?Hope to success.
Click to expand...
Click to collapse
If this is true and they have released the necessary source files I would gladly pay someone to develop a CM ROM for the Mate 7.
Hopefully someone will pick this up soon and start working on it. If that happens I may even reconsider getting rid of the phone...
this good news. i would pay it too if someone could do it
Wow this is ingesting new even thigh mate 7 is on its end of its lifespan a possible cm release would prolong the lifespand a lot.
---------- Post added at 03:51 AM ---------- Previous post was at 03:50 AM ----------
Does any one know how man working hours or time it take to finish this for mate 7?
I would be willing to donate too.
Correct me if I am wrong but.. For security reasons It must be hard to get the fingerprint scanner to work on any non official rom or would this be included in the source code?
jsdfly said:
Huawei has opened the sources (6.0 Marshmallow) for mate7 chinese version.Who can build a full-working (include fingerprint) rom for it?Hope to success.
Click to expand...
Click to collapse
Where these sources can be found? Can you post or pm me the link?
I would gladly pay too for a well developed cm port
Tazmaniiac said:
I would gladly pay too for a well developed cm port
Click to expand...
Click to collapse
+1000
If true where is the source link, I call bull ****.
Sent from my VX3 using Tapatalk
Source Code 5.1.1
download-c.huawei.com/download/downloadCenter?downloadId=58644&version=196837&siteCode=cn&view=true
DVRS96 said:
download-c.huawei.com/download/downloadCenter?downloadId=58644&version=196837&siteCode=cn&view=true
Click to expand...
Click to collapse
Can you upload this to the cloud if you already downloaded it? (as Mega for example) It's very slow, about 6 hours here.. Thank you
EDIT: I did it, here's the link
https://mega.nz/#!bJdVUCSa!cRNz4yN3Ag_xuzSYSxS30ZAAAR8b2LZRDpmJY97D1Io
MD5: 6e63387cfdcb32fcdafb6570a134b7d2
blackinfinity said:
Correct me if I am wrong but.. For security reasons It must be hard to get the fingerprint scanner to work on any non official rom or would this be included in the source code?
Click to expand...
Click to collapse
I guess you are right here. I don't hink I have come across a single OEM (correct me if I'm wrong) that has released the necessary files for fingerprint readers. It wouldn't surprise me if it could potentially pose a massive security risk, especially with Android Pay on the rise.
snake65 said:
If true where is the source link, I call bull ****.
Agreed. Like I said, I heard this from someone who replied on a different thread, though I didn't ask him for links / proof. Could just be rumors.
But think about it this way, the Mate 7 is reaching the end if its lifespan anyway, fast approaching 2 years. Most Android OEMs stop supporting a device two years after release (once again, correct me if I'm wrong), so Huawei really won't feel any impact if it were to release source files for a nearly 'retired' device. But that having been said it probably is hearsay.
Sent from my VX3 using Tapatalk
Click to expand...
Click to collapse
gabry3795 said:
Where these sources can be found? Can you post or pm me the link?
Click to expand...
Click to collapse
Sources Download(6.0)
Offical link:http://download-c.huawei.com/download/downloadCenter?downloadId=76323&version=286198&siteCode=cn
Mega:https://mega.nz/#!y1cAQLpJ!HhM1bSkctN7xkaiwgIkOH9RgH-PCutIitNBFHK-uwcE
P.S. File name extension is wrong,is".tar"
I would do it but idk if i have the time. Its really easy to get into though. look up stuff on youtube and such. One of you guys could do it
I have compiled the kernel, added it to the boot.img and flashed it via fastboot, unfortunately I end in a bootloop.
How can I debug the kernel boot? (UART Jig maybe?)
ruffy91 said:
I have compiled the kernel, added it to the boot.img and flashed it via fastboot, unfortunately I end in a bootloop.
How can I debug the kernel boot? (UART Jig maybe?)
Click to expand...
Click to collapse
How did you do it? I get missing .h headers.. (I am building Lollipop kernel)
gabry3795 said:
How did you do it? I get missing .h headers..
Click to expand...
Click to collapse
Code:
diff --git a/drivers/hisi/modem_hi3630/drv/Makefile b/drivers/hisi/modem_hi3630/drv/Makefile
index 430a5b8..710cc36 100755
--- a/drivers/hisi/modem_hi3630/drv/Makefile
+++ b/drivers/hisi/modem_hi3630/drv/Makefile
@@ -75,7 +75,7 @@ ifeq ($(strip $(CFG_CONFIG_IPF)),YES)
obj-y += ipf/
endif
obj-y += lowpower_mntn/
-obj-$(CONFIG_BALONG_OAM_PS) += $(if $(findstring .o,$(shell ls $(CURDIR)/drivers/hisi/modem_hi3630/drv/balong_oam_ps)), balong_oam_ps/, )
+obj-$(CONFIG_BALONG_OAM_PS) += $(if $(findstring .o,$(shell ls $(BALONG_TOPDIR)/../../../drivers/hisi/modem_hi3630/drv/balong_oam_ps)), balong_oam_ps/, )
subdir-ccflags-y := -Werror
source has to be in "kernel" folder and you have to create "out" folder besides it.
I have commented out #include "hisi-partition.h" in every file where it appears. (Not very good solution I know, but made the kernel compilable and I was not sure if it is even needed. HiSilicon code gives thousands of warnings, no chance to read them all!).
I will search older sources for this missing file, or maybe it is generated by a script?
Edit: I have made a git repo with untouched Marshmallow source (B551 as in the link above): https://github.com/ruffy91/android_kernel_huawei_jazz
ruffy91 said:
Code:
diff --git a/drivers/hisi/modem_hi3630/drv/Makefile b/drivers/hisi/modem_hi3630/drv/Makefile
index 430a5b8..710cc36 100755
--- a/drivers/hisi/modem_hi3630/drv/Makefile
+++ b/drivers/hisi/modem_hi3630/drv/Makefile
@@ -75,7 +75,7 @@ ifeq ($(strip $(CFG_CONFIG_IPF)),YES)
obj-y += ipf/
endif
obj-y += lowpower_mntn/
-obj-$(CONFIG_BALONG_OAM_PS) += $(if $(findstring .o,$(shell ls $(CURDIR)/drivers/hisi/modem_hi3630/drv/balong_oam_ps)), balong_oam_ps/, )
+obj-$(CONFIG_BALONG_OAM_PS) += $(if $(findstring .o,$(shell ls $(BALONG_TOPDIR)/../../../drivers/hisi/modem_hi3630/drv/balong_oam_ps)), balong_oam_ps/, )
subdir-ccflags-y := -Werror
source has to be in "kernel" folder and you have to create "out" folder besides it.
I have commented out #include "hisi-partition.h" in every file where it appears. (Not very good solution I know, but made the kernel compilable and I was not sure if it is even needed. HiSilicon code gives thousands of warnings, no chance to read them all!).
I will search older sources for this missing file, or maybe it is generated by a script?
Edit: I have made a git repo with untouched Marshmallow source (B551 as in the link above): https://github.com/ruffy91/android_kernel_huawei_jazz
Click to expand...
Click to collapse
Thank you! Built successfully by commenting out hisi_partition.h include.. I think that is an automatically generated file, I looked for it in github but no repo seems to have it, I also looked in my old mate7 kernel repo (kitkat) and in new lollipop kernel but nothing. I think (and I hope) that it does not cause the bootloop issue :highfive:
so how the development continues? can't wait for testing!
Introduction
Hello all, I am bringing you this thread as a jumping off point to compiling kernels and working with upstream Linux. I will include a guide, some links, and some terms that will help you get started with modifying kernel source. This is also a good reference point for existing developers as I have consolidated all upstream patches into one repo. Let's get down into it!
What in the world is upstream Linux?
When an OEM sets up a device, they will pick a stable longterm branch from the Linux kernel to base their modifications around (drivers and such). In the case of Bullhead, they picked 3.10.73. Currently, the Linux kernel's 3.10 is updated to 3.10.105, as you can see on kernel.org. This means that Google is "missing" versions 3.10.74 to 3.10.105. Now, why does this matter? Well, the way that the Linux kernel runs its stable branches, the only things that get merged into there are bug fixes and security updates. That's it, there are no wonky features or unstable patches. The only way you get a patch into a stable branch is by having it be in the mainline branch first. Some developers have an aversion to adding upstream because they claim it is excessive and not necessary and they are partially right since not all the patches that come in are relevant to our architecture (arm64). However, upstream Linux is not unstable and by adding each version one at a time, you can verify this. I found only two patches between 3.10.73 and 3.10.105 that gave me issues and it is easy enough to either fix/revert them. Being up to date is good since you keep yourself protected from bugs and security issues that crop up. Google has been better about doing this lately with their monthly security updates but it never hurts to take matters into your own hands.
I suggest watching one of these talks given by Greg Kroah-Hartman, it is really interesting to see how the process goes:
https://www.youtube.com/watch?v=SPY0LyTU53w | https://www.youtube.com/watch?v=L2SED6sewRw
What did you do?
All I did was fetch the latest kernel.org patches from here and cherry pick them on top of the latest kernel source from Google.
I merge these patches by cherry-picking each version individually (3.10.73 to 3.10.74, 3.10.74 to 3.10.75, etc), that way I can verify that the kernel compiles fine and that there are no merge conflicts. Google will sometimes pick certain commits from upstream that are of a higher importance than others which can result in conflicts if you try to pick it again. Additionally, upstream might fix a bug one way and Google has done it another (which is not really good, Google should be pushing their fixes back to upstream so everything stays in sync).
What do I do with this?
I have created two repos below: one with the latest N security update branch with the latest upstream patches picked up on top of it (the bullhead-upstream branch) and another one with a plain AnyKernel source for you to modify (bullhead-stock is the most basic, bullhead-decrypt contains an fstab file that will disable both forced encryption and dm-verity). You are free to fork these or base other branches on them, that's the whole point of this post. I have verified that all the patches contain no major detectable issues. I would like some credit if you do use it but it's not required since the kernel is licensed under GPL Another reason I offer this is I have seen a lot of developers picking in upstream in patch sets, so you get one single commit for an upstream version. This is detrimental as you start to add your own patches as you cannot fully tell what was modified and for what reason without the individual commits. It might look cleaner but you don't get full history which hurts you in the long run.
Links
Kernel source: https://github.com/nathanchance/bullhead/tree/upstream-7.1.2
AnyKernel source: https://github.com/nathanchance/AnyKernel2/tree/bullhead-stock-decrypt
Toolchain source: https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/
How to compile
This will be a quick, step by step guide on how to compile this kernel from source. By using this process, you can start to make modifications to the kernel source and make a flashable zip.
Clone the kernel source, the AnyKernel source, and toolchain source
Code:
cd ~
mkdir Kernel && cd Kernel
git clone https://github.com/nathanchance/bullhead.git source
git clone https://github.com/nathanchance/AnyKernel2.git anykernel
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9 AOSP-4.9
Explanation:
First command: make sure you are in your home directory (or whatever directory you want to hold the kernel folder we are about to make.
Second command: make a Kernel folder and move into it
Third command: clone the kernel source from my repo into a folder named source
Fourth command: clone the AnyKernel source from my repo into a folder named anykernel
Fifth command: clone the Google 4.9 toolchain into a folder named AOSP-4.9
AnyKernel is the name of the zip we are going to make which allows the kernel to be flashed over any ROM.
A toolchain is a set of compiler tools that allow us to compile the kernel on any computer architecture.
Make sure you are on the correct branches
Code:
cd source && git checkout upstream-7.1.2
cd ../anykernel && git checkout bullhead-stock-decrypt
Explanation:
First command: move into the source directory and checkout the branch "upstream-7.1.2", which has all of the necessary patches in it.
Second command: move into the AnyKernel directory and checkout the branch "bullhead-decrypt". If you don't want to disable forced encryption, use the "bullhead-stock" branch.
Tell the compiler what you are are compiling
Code:
export CROSS_COMPILE=${HOME}/Kernel/AOSP-4.9/bin/aarch64-linux-android-
export ARCH=arm64 && export SUBARCH=arm64
make clean && make mrproper
make bullhead_defconfig
Explanation:
First command: point the compiler to the location of your toolchain. If you have done anything different with the folder locations, you will need to modify the "${HOME}/Kernel/AOSP-4.9" part.
Second command: tell the compiler which architecture we are compiling for. In this case, our device is an arm64 device.
Third command: clean out any compiled files and remove our previous defconfig.
Fourth command: tell the compiler which options we want in the kernel using the bullhead_defconfig.
A defconfig is a file that will tell the compiler which features we want in the kernel. No computer ever uses all of the options in the kernel since there are different drivers for various devices.
Make the kernel!
Code:
make -j$(nproc --all)
Explanation:
make tells the compiler to make the kernel (duh) and the -j$(nproc --all) tells the compiler to use the maximum number of cores your computer has available
Make the AnyKernel zip
Code:
cp -v arch/arm64/boot/Image.gz-dtb ../anykernel/zImage-dtb
cd ../anykernel
zip -r9 stock-upstream.zip * -x README stock-upstream.zip
Explanation:
First command: copies the completed kernel (Image.gz-dtb) into the AnyKernel folder
Second command: moves us into the AnyKernel folder
Third command: makes the zip file (named stock-upstream.zip) in the AnyKernel folder.
If you ever want to do this again, run these commands and go straight to step 3:
Code:
cd source && git clean -fxd && git pull
cd anykernel && git clean -fxd && git pull
NOTE: This thread is aimed to be a breeding ground for kernel development, a place to jump off if you will. I am happy to answer how to questions about building kernels or flashing the one I have provided but this is not supposed to be a general Q&A thread. Please use another thread or create your own in Q&A if you need assistance.
THIS. This is what I've been looking for ever since I bought and rooted my bullhead: an optimized stock kernel. I hope and pray that upstream patches are just the beginning, and later on, you'll have the time and inclination to add more optimizations. I don't care for other features. Just a kernel that works and performs is fine with me. If ever you need a tester for future builds, just give me a shout out and I'll be happy to assist. Thanks for sharing your work, mate.
I'd like to respectfully make a request. Talking a look at your Flash kernel thread and I found the optimizations I was referring to in my post above, namely:
Upstream Linux versions 3.10.74-3.10.103
Updated to the October security patch
Patches for some CVEs
Upstream patches from CAF and Linux
Compiled with the Linaro 6.2 toolchain, compiled regularly from Uber's source?*here
Makefile optimizations
Forced encryption and dm-verity disabled
If you can add these to the stock kernel, I'm pretty sure you'll find a user base for this setup (aside from me, of course). I'm sure a lot old timers like myself would a appreciate something that they can use right out of the box and not have to tinker with too much to get a good performance.
apatal said:
I'd like to respectfully make a request. Talking a look at your Flash kernel thread and I found the optimizations I was referring to in my post above, namely:
Upstream Linux versions 3.10.74-3.10.103
Updated to the October security patch
Patches for some CVEs
Upstream patches from CAF and Linux
Compiled with the Linaro 6.2 toolchain, compiled regularly from Uber's source?*here
Makefile optimizations
Forced encryption and dm-verity disabled
If you can add these to the stock kernel, I'm pretty sure you'll find a user base for this setup (aside from me, of course). I'm sure a lot old timers like myself would a appreciate something that they can use right out of the box and not have to tinker with too much to get a good performance.
Click to expand...
Click to collapse
This kernel is not meant to have anything other than the upstream Linux stuff, that's why it is labelled as reference. The only reason I include a kernel here at all is to prove that the additions are stable and cause no side effects. If you want those things, you can compile the kernel yourself (I can show you which patches and toolchain you would need).
Sent from my Nexus 6P using XDA Labs
The Flash said:
This kernel is not meant to have anything other than the upstream Linux stuff, that's why it is labelled as reference. The only reason I include a kernel here at all is to prove that the additions are stable and cause no side effects. If you want those things, you can compile the kernel yourself (I can show you which patches and toolchain you would need).
Click to expand...
Click to collapse
Noted with thanks! Great! When I get the time and resources to build my own kernel, I'll come back here for some pointers.
Btw, I saw a thread here about making your own ROM in the cloud. Is that something you can do as well for making a kernel?
apatal said:
Noted with thanks! Great! When I get the time and resources to build my own kernel, I'll come back here for some pointers.
Btw, I saw a thread here about making your own ROM in the cloud. Is that something you can do as well for making a kernel?
Click to expand...
Click to collapse
Definitely, I do all my building on a server.
The Flash said:
Definitely, I do all my building on a server.
Click to expand...
Click to collapse
Thanks! I'll take a look at it and see if I can figure it out.
Github and the kernel in the OP are updated to 3.10.104.
The Flash said:
Github and the kernel in the OP are updated to 3.10.104.
Click to expand...
Click to collapse
I supposed because of the upstream patch, third kernel already has the Dirty Cow fix, correct?
apatal said:
I supposed because of the upstream patch, third kernel already has the Dirty Cow fix, correct?
Click to expand...
Click to collapse
Yes.
Hi...Sir @The Flash,
This third command is Making FlashableZip?
OR
Non-FlashableZip?
•••
ZawZaw said:
Hi...Sir @The Flash,
This third command is Making FlashableZip?
OR
Non-FlashableZip?
•••
Click to expand...
Click to collapse
Flashable zip
The Flash said:
Flashable zip
Click to expand...
Click to collapse
Thanks Sir. :good:
3.10.105 released https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?id=refs/tags/v3.10.105
Sent from my Nexus 5X using XDA-Developers Legacy app
tuhinxp04 said:
3.10.105 released https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?id=refs/tags/v3.10.105
Click to expand...
Click to collapse
I am aware. I'm not actually doing this for this device anymore so there won't be an update.
Hi... @The Flash
I have one question, please reply me.
What is UBER?
UBER is a compliler as Google's ToolChain Prebuilt?
What different UBER and Google Toolchain?
I want to know,
Please explain me.
Thanks You Sir
•••
ZawZaw said:
Hi... @The Flash
I have one question, please reply me.
What is UBER?
UBER is a compliler as Google's ToolChain Prebuilt?
What different UBER and Google Toolchain?
I want to know,
Please explain me.
Thanks You Sir
•••
Click to expand...
Click to collapse
https://plus.google.com/+ChetKener/posts/YzMJEkzPQgp
The Flash said:
https://plus.google.com/+ChetKener/posts/YzMJEkzPQgp
Click to expand...
Click to collapse
Thanks You Sir.
•••
Hey @The Flash I've been reading through your "How to build Pure Nexus" thread and this thread and I believe that I have an understanding of how to properly setup an environment and compile a kernel for use. However, I still need some guidance as to how to pull commits from others sources and merge them into mine so that my kernel will have those features. The main features I want for my kernel are: LZ4 ramdisk compression (as seen in jollaman's and rachanta's kernels), F2FS compatibility, Overclocking for both the big and little clusters, and a kernel tick rate of 100Hz. If it is not too much to ask could you please show me an example of how to merge at least one of these features into my source so that when I compile my kernel it will have the feature?
HesThatGuy said:
Hey @The Flash I've been reading through your "How to build Pure Nexus" thread and this thread and I believe that I have an understanding of how to properly setup an environment and compile a kernel for use. However, I still need some guidance as to how to pull commits from others sources and merge them into mine so that my kernel will have those features. The main features I want for my kernel are: LZ4 ramdisk compression (as seen in jollaman's and rachanta's kernels), F2FS compatibility, Overclocking for both the big and little clusters, and a kernel tick rate of 100Hz. If it is not too much to ask could you please show me an example of how to merge at least one of these features into my source so that when I compile my kernel it will have the feature?
Click to expand...
Click to collapse
I can do overclocking because it is the easiest of those. Note that you will need some good git skills as well as fairly solid foundation of C to understand what is happening around the code when you run into conflicts.
1. Fetch the repo you want to get changes from (git fetch <url> <branch>)
Code:
git fetch https://github.com/Flash-Kernel/bullhead release-7.1.1
2. Find the commit hash you want to pick on Github and cherry-pick it
Code:
git cherry-pick e60c81d4839bb0f7efd3a79213467e7cbe77801d
3. If there are conflicts, it will make you resolved them first. You'll see conflict markers like so:
Code:
<<<<<<<<<< HEAD
STUFF THAT IS CURRENTLY THERE
==================
STUFF THAT IS EXPECTED TO BE THERE AFTER COMMIT
>>>>>>>>>>>>>
Sometimes, all the stuff that is currently there will be replaced by the stuff that is expected to be there. Other times, you'll have to be more fine about it and compare the diff on Github and see what is actually changing. It's a learned process, not really one that I can concretely teach.
Introduction
Hello everyone! I am one of the members of the Substratum team and we constantly have people asking how to add support to ROMs. I have made a repo regarding all of our documentation here, in which I include steps to add support. Normally, it is easy to add support to most ROMs; however, Lineage has made some underlying changes to AssetManager and PackageManager that makes adding the patches a little difficult if you do not have some solid programming background. To help people who are familiar with building and git but not necessarily Java and C, I have created a series of reference repos that you can use to cherry pick the commits into your forks or local builds to easily have theme support! Please read this entire thread, I go over a lot of info and I will be upset if you do not read it all enjoy!
Information
Substratum currently uses OMS (Overlay Manager Service), Sony's theming framework, that allows for real time swapping of resources via overlays. This is accomplished through a series of commits, which include the core OMS framework, exposures so themes can overlay hardcoded resources, and a second set of framework commits to allow Substratum to do all of its operations without root access. You can read more about this in the main Substratum thread. We have made it so that it is easy to merge OMS and all of our exposures on AOSP or close to AOSP ROMs. Lineage is not one of those ROMs as they have based on CAF, which modifies AOSP to suit a large range of devices. Lineage has also modified core components like Package Manager for security reasons and some of those changes will conflict with OMS changes. I have merged the changes on top of Lineage and verified everything has worked properly. I will continue to maintain this as long as time permits. I plan to try and rebase the changes every day on Lineage updates but I may need to do it weekly depending on how much free time I have.
What do I have to do?
All you need to do is merge the changes from our repos into yours! Link: https://github.com/LineageOMS
This can be done in one of four ways (ONLY ONE):
1. Cherry-pick our changes
This will be the best option if you have forked Lineage and made any changes (basically basing a ROM on Lineage). Once you have merged these changes, you can track our progress on Gerrit and merge patches as they come down. The patches you need to pick will be either "committed with nathanchance" or "nathanchance committed".
Code:
git fetch <url> cm-14.1
git cherry-pick <first_sha1>^..<second_sha1>
Example:
Code:
git fetch https://github.com/LineageOMS/android_frameworks_base cm-14.1
git cherry-pick d6b3f93bec61769fab7ebf31e78bf0acb42bb2e6^..1e00bba63c5b6facec5a8beef1bb39863b251183
2. Pull our changes
This will be a good option if you have either forked Lineage and made no changes or do straight builds from their repos, as this will fetch and merge automatically. You can still cherry-pick if you want but this should result in no conflicts (basically a clean merge).
Code:
git pull <url> cm-14.1
Example:
Code:
git pull https://github.com/LineageOMS/android_frameworks_base cm-14.1
3. Sync using our manifest
This is good if you are just building straight from Lineage's sources. The one issue with this is you will be fully reliant on me for updates; Lineage often merges patches across a few repos and you may run into errors if ALL repos are not up to date.
From the top of your Lineage repo folder:
Code:
mkdir LineageOMS && cd LineageOMS
repo init -u https://github.com/LineageOMS/android -b cm-14.1 --no-clone-bundle --depth=1
repo sync -j$( nproc --all ) --force-sync -c --no-clone-bundle --no-tags --optimized-fetch --prune
4. Use the provided local manifest
This is good if you are just building straight from Lineage's sources. As with the above option, you MAY run into errors if a patch is merged across several repos and I have not update my repos with the proper changes.
From the top of your Lineage repo folder:
Code:
cd .repo
mkdir -p local_manifests
cd local_manifests
wget https://raw.githubusercontent.com/LineageOMS/local_manifest/master/substratum.xml
cd ../..
repo sync --force-sync
4. Use the provided local manifest
I would only recommend doing this if you are building straight from Lineage's sources and willing to build only when I rebase my changes. Lineage often merges patches across several repos and without every repo being up to date, you may get build errors.
From the top of your Lineage repo folder:
Code:
cd .repo
mkdir -p local_manifests
cd local_manifests
wget https://raw.githubusercontent.com/LineageOMS/local_manifest/master/substratum.xml
cd ../..
repo sync --force-sync
That's it! Super easy as it should be.
Support
If you run into any issues with merging patches, ask in this thread.
If you PM me on XDA... I will ignore you.
If you PM me on Hangouts... I will ignore you.
If you PM me on Telegram... I will ignore you.
See a pattern? This thread is the place for support, nowhere else.
If you run into issues with using Substratum itself, ask in the main thread.
Great!
This is great!
wew...this is great bro
This is great!
Wow, great :laugh:
Awesome!
Awesome, build successfully. Thx.
Finding beautiful themes now.
通过我的 Mi 5s Plus 上的 Tapatalk发言
Great it can't be easier thn this.
Is it possible to do for this build. Can anyone HELP me with video tutorial plz..
---------- Post added at 06:56 AM ---------- Previous post was at 06:41 AM ----------
akhilnarang said:
Great!
Click to expand...
Click to collapse
Iam using HTC desire 816.i have flash this build cm14.1-20161120-unofficial-a5dwg can u plz help me to how to do this.
actually i didn't understand......can anyone explain it in simple words.......am not a tech guy, am just a beginner in this world of custom ROM.
nareshnani142 said:
Is it possible to do for this build. Can anyone HELP me with video tutorial plz..
---------- Post added at 06:56 AM ---------- Previous post was at 06:41 AM ----------
Iam using HTC desire 816.i have flash this build cm14.1-20161120-unofficial-a5dwg can u plz help me to how to do this.
Click to expand...
Click to collapse
You need to build for yourself, you cannot do this to an already compiled build.
Sachin ET said:
actually i didn't understand......can anyone explain it in simple words.......am not a tech guy, am just a beginner in this world of custom ROM.
Click to expand...
Click to collapse
Unfortunately, if you cannot understand what I wrote, you need to do a lot of research into the world of git and custom ROMs, I cannot provide that to you in this thread. A good place to start would be my guide on how to compile from source: https://github.com/nathanchance/Android-Tools/raw/master/Guides/Building_AOSP.txt
I made my own manifest to build lineage with OMS here: https://github.com/DespairFactor/android
@cvxda @xamio
Sachin ET said:
actually i didn't understand......can anyone explain it in simple words.......am not a tech guy, am just a beginner in this world of custom ROM.
Click to expand...
Click to collapse
Bro lets wait our dev will do this for us,,,,
Thanks
[Thanks bro!!]
[¡Gracias, viejo!]
Firstly thanks for this guide. I followed the THIRD way to add Substratum Support in my ROM and I'm getting some error Permissive domains not allowed and the make fails. I am building LineageOS for Moto G4 Plus (athene). Error: https://hastebin.com/keyacadezi.vbs
Full output: https://paste.ee/p/GvyYN Anyone who can help in this, I'd be thankful
Device tree: https://github.com/tywinlannister7/android_device_motorola_athene
Kernel tree: https://github.com/LineageOS/android_kernel_motorola_msm8952
tywinlannister7 said:
Firstly thanks for this guide. I followed the THIRD way to add Substratum Support in my ROM and I'm getting some error Permissive domains not allowed and the make fails. I am building LineageOS for Moto G4 Plus (athene). Error: https://hastebin.com/keyacadezi.vbs
Full output: https://paste.ee/p/GvyYN Anyone who can help in this, I'd be thankful
Device tree: https://github.com/tywinlannister7/android_device_motorola_athene
Kernel tree: https://github.com/LineageOS/android_kernel_motorola_msm8952
Click to expand...
Click to collapse
Delete the file "sepolicy/themeservice_app.te" in your device tree. I removed CMTE's sepolicy as ours conflicts.
dont work with touchwiz roms or?
gtaelbordo said:
dont work with touchwiz roms or?
Click to expand...
Click to collapse
Are TouchWiz ROMs LineageOS? Then no, this is not applicable for TouchWiz ROMs. If you mean Substratum as a whole, probably not as TouchWiz is nowhere close to stock Android and this should be asked in the main Substratum thread.
Sent from my Nexus 6P using XDA Labs