[Q] Managing code modifications on top or Repo and GIT - Android Software/Hacking General [Developers Only]

Hi everyone,
To learn more on Android and to have fun, I'm creating a Kang based on
Cyanogenmod 7.2 for the HTC Glacier.
I got the source using repo and I was able to build a "vanilla" CM7.2 without issue.
Now I want to make some modification but I'm not sure
how you guys / gals are managing the source code.
I see 3 ways to organize my work :
1- Fork each part I want to work on and change the default manifest to fetch update from my github instead of cyanogenmod.
Pros : easy, can track my change using git
Cons : to fork every part just to change a text file is beurk...
2- Create local branch with git in every project I want to change.
Pros : easy
Cons : My commit are only local. Need to merge each project with CM branch.
3- Work outside cyanogenmod source folder and applied my change before building my kang.
Rollback everything (git reset) once my build is done.
Pros : no effort to stay in sync with CM sources. Can create a project on github with all my changes.
Cons : Need to use a kind of script to apply my mod every time I want to build.
Any opinions ? How are you managing your sources ?
I'm quite new with Android development, so feel free to suggest tutorial or better working technique.
Regards.

Hello,
Bump! :-D
I will try solution 3 but I am still interested to get opinions.
Regards
Sent from my HTC Panache / Darkside CM7.2 using xda premium.

Related

[Q] How to add new device/project to CM build?

Hello all,
I've forked a CM9 repo for the HTC One X and am able to successfully compile and build but I'd like to add my own repo to the build process. I'm not quite sure how everything works together yet but it seems that the default.xml may be the place where I need to make the change. Is that true? If not, how can I go about adding my own source to my CM9 workspace in order to compile and build a ROM based on my source changes.
Thanks!

[Q] Help Building unofficial ROM

I'm trying to build unofficial Dirty Unicorns for the TF300T. I've been using this tutorial to set up my build environment:
http://forum.xda-developers.com/chef-central/android/tutorial-compile-lollipop-ubuntu-t2929410
I've managed to sync their repos and all that, and I've come to the device tree. I wasn't able to find an equivalent tree on Google's website like the Nexus 7. So my question is, where can I find the tree(s) for my Transformer? Is building for a device really as simple as combining the repo, device trees, and blobs? That's what this tutorial implies. Or am I likely to end up with a crappy build?
Wow.
you might be able to find the device tree from the omni rom guys. Last time I tried to do this it was for my ME301. I was able to download the device tree from the Omonirom gerrit page. Poke around the Omnirom guys site and thread and see if they have it. Here ya go. This is the cyanogen github page. it looks like they list both the tf300t kernel and the device tree for cyanogen mod ROM
https://github.com/CyanogenMod?utf8=✓&query=tf300t
That might be a start
Here is the wiki page for building Cyanogen Mod for the tf300t and it might explain some steps better

[Q] How to Build My Own Custom ROM

So, how to build my own custom rom version ?
I want to build CM and cherrypicks some feature.
Does anyone have a guide or maybe anyone could teach me? Because i can't really follow the tutorial on CM wiki page.
Thanks a lot !
You need fairly decent specs internet and specs to compile. You can rent a linux VPS to compile to get rid of most of the headaches, or install a Linux distribution on your pc. Then you can follow https://wiki.cyanogenmod.org/w/Build_for_bacon#Build_CyanogenMod_and_CyanogenMod_Recovery if you have a Debian based Linux(Ubuntu) install, just substitute the branch in "repo init -u https://github.com/CyanogenMod/android.git -b cm-12.1" with cm-13, if you want to build cm13 nighties. If you want to cherry go to the root of the build directory and copy and paste the commands from the cm gerrit. You can find the command under the download tab.
Hello since I'm kinda new to xda , I cant create a thread
Quick question
How can I implement kexec hardboot patch in my kernel ,
I found this kernel by the mod developer
github. com/ davidepianca98/android_kernel_oneplus_msm8974-kexec
But cm-13.0 branch isn't available
https://github.com/davidepianca98/a...mmit/af5ef3d76f863f02c51cf860702b01536620ebf5 this commit tells you how to modify your kernel to implement it. You can possibly cherrypick it too.

Use CM device tree to compile Omni

Hello,
I recently compiled CyanogenMod 14.1 for my Android device using the official sources and want to compile Omni 7.1 for the same device and use the device tree and kernel from the official CM sources because there's no device tree for Omni. Is there a way to "convert" the CM device tree to work with the Omni sources? My exact problem is the compiler doesn't know my device so I can't run something like "brunch [device]" or "make [device]", although I already downloaded all device-specific repositories to the same subdirectory as I'd do it on CM.
Thanks in advance,
Oebbler
Oebbler1 said:
Hello,
I recently compiled CyanogenMod 14.1 for my Android device using the official sources and want to compile Omni 7.1 for the same device and use the device tree and kernel from the official CM sources because there's no device tree for Omni. Is there a way to "convert" the CM device tree to work with the Omni sources? My exact problem is the compiler doesn't know my device so I can't run something like "brunch [device]" or "make [device]", although I already downloaded all device-specific repositories to the same subdirectory as I'd do it on CM.
Thanks in advance,
Oebbler
Click to expand...
Click to collapse
You have to go to your android_device_manufacturer_yourphonecodename repo and rename cm.mk to omni_codename.mk, open it and change cm_codename to omni_codename.
You have also to rename cm.dependencies to omni.dependencies, but the repos included in that file may not be in omnirom source, so you would need to manually sync those repos in your android sorce tree.
You might have to make other minor changes, take a look at the rest of code in that repo.
For further info: https://docs.omnirom.org/Porting_Omni_To_Your_Device
Thank you, but I think I won't succeed in building Omni for my device because I always get strange errors.
Probs will get annoyed, cmsdk, cmhw, and cm encryption are significantly annoying. Also they moved their build dir, generally include useless common subtrees, and named dtbtool with CM suffix. Their build tree might be the most significant hindrance to unified building on Android, not only for the many unnecessary additions and dependencies they have for devices, but also they generally lack a community presence to answer or respond to users, so a lot of us get stuck with cleaning up their mess.
Notice how TWRP has a community presence here and are helpful. I'm not hating on cm, they have been doing this longer than most of us, but for ease id recommend using your rom choices tree.
Also the immensely significant annoyance of having to track devicesettings and the unwillingnes to nuke cmactions, combine it with cmsdk, or at least remove it's dependency in most trees is almost certainly going to cause you errors.
Sent from my One using XDA-Developers Legacy app

How big is the BlissROMs source code file for building unofficial build for ARM devices? Also help about building from the source code.

I want to build my unofficial build for my phone, HTC Desire 816. But I have a limited data plan, and I worried I will running out of my data by downloading a huge source code with unnecessary files for other architectures, phones etc. And I'm just need the ARM and important files.
Also I got these repos from Tarkzim's forum at LineageOS unofficial for HTC Desire 816:
Device tree
Kernel
Vendor
Well, I didn't have any experience at Android development. So maybe can someone give me a guide too?
I'm just know the preparations on the documentation and it's ready, but the steps are confusing for me.
Or maybe if peoples are have their time maybe can someone make the official build?
Maybe it such out of BlissROMs, but I really want to Blissify my phone. Because LineageOS are too plain, no good features like smart charging etc. It just looks a normal Android build from AOSP source.

Categories

Resources