[rom] [4.2.2] Unofficial CM10.1 wip - HTC ChaCha

OK, so I have gone head on to build latest @adlx.xda's repo of CM10.1 for the ChaCha.
So far, I am having problems, so this is a thread to study, learn, solve and hopefully build...
Stay tuned!

Reserved, just in case it comes handy later on...

OK, repo sync seemed to go well, and after a good while compiling what seemed to be the kernel, I got this:
Code:
target R.java/Manifest.java: Gallery2 (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/Gallery2_intermediates/src/R.stamp)
Copying: /home/magicalsword/android/CM10.1/out/target/common/obj/JAVA_LIBRARIES/com.android.gallery3d.common2_intermediates/classes-jarjar.jar
target R.java/Manifest.java: HTMLViewer (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/HTMLViewer_intermediates/src/R.stamp)
target R.java/Manifest.java: InputDevices (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/InputDevices_intermediates/src/R.stamp)
target R.java/Manifest.java: KeyChain (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/KeyChain_intermediates/src/R.stamp)
target R.java/Manifest.java: LatinIME (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/LatinIME_intermediates/src/R.stamp)
Copying: /home/magicalsword/android/CM10.1/out/target/common/obj/JAVA_LIBRARIES/inputmethod-common_intermediates/classes-jarjar.jar
target R.java/Manifest.java: LiveWallpapersPicker (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/LiveWallpapersPicker_intermediates/src/R.stamp)
target R.java/Manifest.java: MediaProvider (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/MediaProvider_intermediates/src/R.stamp)
Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines versionName (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
target R.java/Manifest.java: Mms (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/Mms_intermediates/src/R.stamp)
target R.java/Manifest.java: PackageInstaller (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/PackageInstaller_intermediates/src/R.stamp)
Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.
target R.java/Manifest.java: Phone (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/Phone_intermediates/src/R.stamp)
target R.java/Manifest.java: PicoTts (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/PicoTts_intermediates/src/R.stamp)
nothing matches overlay file incall_touch_ui.xml, for flavor ,,,,,,,,land,,,,,,,,,,
target R.java/Manifest.java: QuickSearchBox (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/QuickSearchBox_intermediates/src/R.stamp)
Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines versionName (in http://schemas.android.com/apk/res/android); using existing value in manifest.
target R.java/Manifest.java: Settings (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/Settings_intermediates/src/R.stamp)
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
target R.java/Manifest.java: SettingsProvider (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/SettingsProvider_intermediates/src/R.stamp)
target R.java/Manifest.java: SpareParts (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/SpareParts_intermediates/src/R.stamp)
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines targetSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
target R.java/Manifest.java: SpeechRecorder (/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/SpeechRecorder_intermediates/src/R.stamp)
device/htc/chacha/overlay/packages/apps/Phone/res/values/config.xml:19: error: Resource at config_device_has_fixed_keyboard appears in overlay but not in the base package; use <add-resource> to add.
make: *** [/home/magicalsword/android/CM10.1/out/target/common/obj/APPS/Phone_intermediates/src/R.stamp] Erro 1
make: *** Agardando por traballos non rematados....
It's obviously missing something, but I don't know where to find it... I am probably missing some local repositories, I am using @adlx.xda 's:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="git://git.cryptomilk.org/" name="cryptomilk" />
<project name="adumont/android_device_htc_chacha" path="device/htc/chacha" revision="jellybean" />
<project name="adumont/android_vendor_htc_chacha" path="vendor/htc/chacha" revision="jellybean" />
<project name="CyanogenMod/android_device_htc_common" path="device/htc/common" revision="refs/heads/gingerbread" />
<remove-project path="hardware/qcom/display" name="CyanogenMod/android_hardware_qcom_display" />
<project path="hardware/qcom/display" name="WinSuk/android_hardware_qcom_display" revision="jellybean" />
<project name="projects/marvel/android_device_htc_msm7x27-recovery.git" path="device/htc/msm7x27-recovery" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_msm7x27-common.git" path="device/htc/msm7x27-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel-common.git" path="device/htc/marvel-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel.git" path="device/htc/marvel" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_qcom_msm7x27.git" path="vendor/qcom/msm7x27" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_htc_marvel.git" path="vendor/htc/marvel" remote="cryptomilk" />
</manifest>
Any ideas? Thanks!

Code:
device/htc/chacha/overlay/packages/apps/Phone/res/values/config.xml:19: error: Resource at config_device_has_fixed_keyboard appears in overlay but not in the base package; use <add-resource> to add.
The log have already told u @MagicalSword

Yeah, the problem is I don't know where to get those resources... where do you guys get all this stuff?
Thanks!
Sent from my Nexus 4 using Tapatalk 4 Beta

MagicalSword said:
Yeah, the problem is I don't know where to get those resources... where do you guys get all this stuff?
Thanks!
Sent from my Nexus 4 using Tapatalk 4 Beta
Click to expand...
Click to collapse
"config_device_has_fixed_keyboard" in [device/htc/chacha/overlay/packages/apps/Phone/res/values/config.xml]
But no "config_device_has_fixed_keyboard" in [yourworkspace/packages/apps/Phone/res/values/config.xml]
hope u can catch it.

@ajeevlal @adlx.xda
1) there's something wrong with the gravity sensor, almost all the apk was opened in portrait mode, but it turns to be right after i shut and illume again the screen.(there are 2 place that I could set the rotation mode, 1 is interface -- launcher - general, another is display -- rotation, I thought it might be conflict with each other)
2) I think there a very big defect: I could dial the number directly, every button on the keyboard(when it's homescreen) will go to the search app. I could dial only with the phone.apk (that is very inconvenient)
3) The camera is missing
4) Facebook button seems to be disabled.
5) The signal icon seems always show just 1 pane.

I don't think they will follow this thread, try to get the minimum posts to comment on their threads under development... OTOH some of the things you comment are known bugs, read the first post on each thread to know what works and what not. Regards.

OK, I added the physical keyboard resource (I remember @adlx.xda adding the code to CM9 a year or more ago).
Everything went seemingly well (except my laptop got toasted overnight, again) but when packaging the final zip image I got a too big error. Any ideas? I guess a fresh, clean build may solve this, but it takes so long I'd prefer to be at least a bit sure about that...
This is the error:
Code:
build/tools/generate-notice-files.py /home/magicalsword/android/CM10.1/out/target/product/chacha/obj/NOTICE.txt /home/magicalsword/android/CM10.1/out/target/product/chacha/obj/NOTICE.html "Notices for files contained in the filesystem images in this directory:" /home/magicalsword/android/CM10.1/out/target/product/chacha/obj/NOTICE_FILES/src
Combining NOTICE files into HTML
Combining NOTICE files into text
Installed file list: /home/magicalsword/android/CM10.1/out/target/product/chacha/installed-files.txt
Target system fs image: /home/magicalsword/android/CM10.1/out/target/product/chacha/obj/PACKAGING/systemimage_intermediates/system.img
Running: mkyaffs2image -f /home/magicalsword/android/CM10.1/out/target/product/chacha/system /home/magicalsword/android/CM10.1/out/target/product/chacha/obj/PACKAGING/systemimage_intermediates/system.img
Install system fs image: /home/magicalsword/android/CM10.1/out/target/product/chacha/system.img
/home/magicalsword/android/CM10.1/out/target/product/chacha/system.img+ maxsize=278310912 blocksize=135168 total=279622464 reserve=2838528
error: /home/magicalsword/android/CM10.1/out/target/product/chacha/system.img+ too large (279622464 > [281149440 - 2838528])
make: *** [/home/magicalsword/android/CM10.1/out/target/product/chacha/system.img] Erro 1
make: *** Borrando o ficheiro `/home/magicalsword/android/CM10.1/out/target/product/chacha/system.img'
BTW, this reminds me to earlier kernel versions where you had to make bzImage cause zImage was too big for the boot sector... I hope I don't have to tinker the kernel to make it a little bit smaller... OTOH I wouldn't mind taking out some apps I never use...

I have a bug with the view of phone number on incoming call
cm10.1 build 13.06.2013

vr13azvedke said:
I have a bug with the view of phone number on incoming call
cm10.1 build 13.06.2013
Click to expand...
Click to collapse
That's a known issue, I'm still working on building the stuff, try on the development forum and see if they have a patch for it. Good luck!
Sent from my Nexus 4 using Tapatalk 4 Beta

Ok, yesterday I did a repo sync and built again, and got the same error, image too big. I am obviously building too much, but what could it be? I may try to let some kernel modules out, but which ones? Hmmmm....
Sent from my Nexus 4 using Tapatalk 4 Beta

Related

[Solved] Building CM9

With there being a bit of an hiatus on CM9 development (waiting for HTC kernel source, working on JB), I thought I'd learn more about building ROMs.
I'm running Ubuntu 10.04 (and 12.04) under VMware Player on Windows 7 Home.
I downloaded the JB AOSP repository and built it successfully for the emulator.
Next, I wanted to build a working ROM, so I chose to do CM9 (ICS).
I've followed [TUTORIAL]Setting up and compiling CM9 from source
and some info regarding building JB:
nk111 said:
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
repo sync
./build/envsetup.sh
brunch saga
Click to expand...
Click to collapse
Here's what I did:
repo init -u git://github.com/CyanogenMod/android.git -b ics
Added a "remote" to get the proprietary files for HTC devices by creating WorkingDir/.repo/local_manifest.xml
Note: An alternative to using nexx/proprietary_vendor_htc is to run ./extract-files.sh from WorkingDir/device/htc/saga with your PC connected to your phone (it used adb to pull down the proprietary files)
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="https://github.com/" name="nexx" revision="ics" />
<project name="nexx/proprietary_vendor_htc" path="vendor/htc" remote="nexx" revision="ics" />
<!-- the following lines were added automatically by "brunch saga" command -->
<project name="CyanogenMod/android_device_htc_saga" path="device/htc/saga" remote="github" revision="ics" />
<project name="CyanogenMod/android_device_htc_msm7x30-common" path="device/htc/msm7x30-common" remote="github" revision="ics" />
<project name="CyanogenMod/htc-kernel-msm7x30" path="kernel/htc/msm7x30" remote="github" revision="android-msm-2.6.35-ics" />
</manifest>
repo sync
Note: the next bit adds the ROM Manager and Term packages which are required by CM
cd vendor/cm
./get-prebuilts
cd ../..
. build/envsetup.sh
brunch saga (I also tried breakfast saga; lunch;mka)
The build failed with these errors:
target SharedLib: audio.primary.msm7x30 (out/target/product/saga/obj/SHARED_LIBRARIES/audio.primary.msm7x30_intermediates/LINKED/audio.primary.msm7x30.so)
prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: out/target/product/saga/obj/SHARED_LIBRARIES/audio.primary.msm7x30_intermediates/AudioHardware.o: in function android_audio_legacy::AudioHardware::setMicMute_nosync(bool):hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:932: error: undefined reference to 'msm_device_mute'
prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: out/target/product/saga/obj/SHARED_LIBRARIES/audio.primary.msm7x30_intermediates/AudioHardware.o: in function android_audio_legacy::AudioHardware::AudioHardware():hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:566: error: undefined reference to 'msm_reset_all_device'
prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: out/target/product/saga/obj/SHARED_LIBRARIES/audio.primary.msm7x30_intermediates/AudioHardware.o: in function android_audio_legacy::updateDeviceInfo(int, int, unsigned int, unsigned int):hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:449: error: undefined reference to 'msm_device_mute'
collect2: ld returned 1 exit status
Note this error occurs both in Ubuntu 10.04 and 12.04
What am I missing and what do I need to do to get the error fixed?
Thanks
Edit:
Solution
The version of Ubuntu has nothing to do with the problem.
The errors point to some missing functions called by hardware/qcom/media/audio/msm7x30/AudioHardware.cpp
The modules in nexx/proprietary_vendor_htc are missing the required functions so copy them from a working CM9 ROM.
tuttifrutas said:
i mean you should run the file extract-files.sh, this will copy the files from your phone to the folder vendor/htc/saga/proprietary, just notice that your phone should have at least one of the latest cm9 nk111 roms.
or you can extract the nk111 cm9 rom to a folder, goto that folder and under sytem/lib, copy the needed .so files to the vendor/htc/saga/proprietary replacing the files on this folder
or you can add repository that is not nexx for example https://github.com/AOKPDS/proprietary_vendor_htc
you can check if the files contain that function by using this command in the folder vendor/htc/saga/proprietary
Code:
grep -R msm_device_mute .
My output
Code:
~/cm9/vendor/htc/saga/proprietary$ grep -R msm_device_mute
.Binary file ./libaudioalsa.so matches
Click to expand...
Click to collapse
Thanks Bill for the start and the steps, please keep updating the OP as you proceed on your journey.
I would also like to Build CM9 myself atleast once
Hi maybe you are missing some projects
try this on you local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_htc_saga" path="device/htc/saga" remote="github" revision="ics" />
<project name="CyanogenMod/android_device_htc_msm7x30-common" path="device/htc/msm7x30-common" remote="github" revision="ics" />
<project name="nexx/proprietary_vendor_htc" path="vendor/htc" remote="github" revision="ics" />
</manifest>
i think you need to go to vendor/cm/ and excute get-prebuilds or something like that if you get some rommanager error
This is what my local_manifest.xml looks like:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="https://github.com/" name="nexx" revision="ics" />
<project name="nexx/proprietary_vendor_htc" path="vendor/htc" remote="nexx" revision="ics" />
<project name="CyanogenMod/android_device_htc_saga" path="device/htc/saga" remote="github" revision="ics" />
<project name="CyanogenMod/android_device_htc_msm7x30-common" path="device/htc/msm7x30-common" remote="github" revision="ics" />
<project name="CyanogenMod/htc-kernel-msm7x30" path="kernel/htc/msm7x30" remote="github" revision="android-msm-2.6.35-ics" />
</manifest>
The brunch saga command added these additional entries automatically.
I know this seems like a long shot and it may not fix the problem but it could be Ubuntu 12.04 causing problems. 10.04 is the best version. Also you don't need to add the kernel to the local manifest unless you're creating a custom one. It's already in the device tree
Sent from my Desire S using Tapatalk 2
Is your repository properly synchronized? If not it is probably your build machine
Sent from my Desire S using xda app-developers app
Thanks, guys. I'll try using Ubuntu 10 instead of 12.
Sent from my HTC Desire S
I did a complete reinstall on Ubuntu 10.04. But I still get the same errors. Note, I've updated the OP with more details on my environment and the steps I went through.
i got the same error when i tried to compile it on a Virtual machine. I'm not an expert but it seems to me that the file vendor/htc/saga/proprietary/libaudioalsa.so should have that function but it doesn't !? correct me if i'm wrong
try extracting the files from one of cm9 alpha builds using the script extract-files.sh under the folder device/htc/saga/
or just open the cm9 alpha zip file goto system/lib copy and replace the file libaudioalsa.so in the dir vendor/htc/saga/proprietary/
EDIT:
the proprietary repository, that is added using brunch saga, is the culprit it breaks the build
I managed to get a working build!
The errors point to some missing functions called by hardware/qcom/media/audio/msm7x30/AudioHardware.cpp
So I had a look at the code and found that there were two conditions that invoked the problem code:
#ifdef WITH_QCOM_RESETALL
and
#ifdef WITH_QCOM_VOIPMUTE
So I commented out these sections and, voila, it compiled!
Now, I have no idea what is the broader impact of what I've done, but the build work and runs on the phone.
So I'm changing this thread for [Q] to [Partial solution]
tuttifrutas said:
EDIT:
the proprietary repository, that is added using brunch saga, is the culprit it breaks the build
Click to expand...
Click to collapse
Can you please be a bit more specific? The CyanogenMod/android_device_htc_saga project adds the proprietary files only if you connect your phone and run ./extract-files.sh.
Are you saying:
Don't run extract-files.sh, or
Remove the CyanogenMod/android_device_htc_saga project, which doesn't make sense to me because it includes a lot more than just the proprietary files, or
????
BillGoss said:
Can you please be a bit more specific? The CyanogenMod/android_device_htc_saga project adds the proprietary files only if you connect your phone and run ./extract-files.sh.
Are you saying:
Don't run extract-files.sh, or
Remove the CyanogenMod/android_device_htc_saga project, which doesn't make sense to me because it includes a lot more than just the proprietary files, or
????
Click to expand...
Click to collapse
i mean you should run the file extract-files.sh, this will copy the files from your phone to the folder vendor/htc/saga/proprietary, just notice that your phone should have at least one of the latest cm9 nk111 roms.
or you can extract the nk111 cm9 rom to a folder, goto that folder and under sytem/lib, copy the needed .so files to the vendor/htc/saga/proprietary replacing the files on this folder
or you can add repository that is not nexx for example https://github.com/AOKPDS/proprietary_vendor_htc
you can check if the files contain that function by using this command in the folder vendor/htc/saga/proprietary
Code:
grep -R msm_device_mute .
My output
Code:
~/cm9/vendor/htc/saga/proprietary$ grep -R msm_device_mute
.Binary file ./libaudioalsa.so matches

[GUIDE] Build any Custom ROM from Source [Noobfriendly]

I know there are many of these guides on XDA, but when I wanted to learn how to compile ROMs, all those guides didn't help me out cause all those guides are for more advanced users. I will try to explain every step clearly.
Step 1: Prepare your PC for building Android
Here's a good guide how to do that. http://forum.xda-developers.com/showthread.php?t=2639611
Follow this guide up to step 9, then return to this thread.
Step 2: Downloading the sources
First, in terminal type "mkdir <android>" and then "cd <android>". Replace <android> with the ROM name that you want to build. For example if you want to build omni, type "mkdir omni" and "cd omni". Now you created a directory called "omni" and switched to it. Now, pick a ROM that you want to build and go to its github page. Then search for a repository that has the word "manifest" in it (sometimes it's also just called "android"). Click on it. On the top, select the branch. Most times every branch is for a different android version. Select the latest android version (For this guide it's Android 5.1.1, so the branch most times is LP-5.1). Then scroll down to the readme, copy the command starting with "repo init" and paste it in your terminal. Now just type "repo sync" and it will download the sources. This will take time, since it's about 15gb that will be downloaded.
Step 3: Download the Device specific sources
Next, you have to download the device tree, the kernel and the vendor files. If you're lucky, someone already put together a roomservice.xml for your device where all the needed stuff is declared. Search for "<devicename> roomservice" and hopefully you'll find a github page with this file. If you do, download it and push it to <android>/.repo/local_manifests/. Then go back to the terminal and type "repo sync" again. This time it won't take that long. If there's no roomservice.xml for your device, You have to create it. The device tree and kernel most times can be found by going to github.com/CyanogenMod and searching for your brand. For example, if you have a Motorola Moto G 2nd Generation (codename titan), search for motorola and open android_device_motorola_titan (sources for titan), android_device_motorola_msm8226-common (sources for titan's chipset) and android_kernel_motorola_msm8226 (sources for the kernel of the chipset) in a new tab. Also you need the vendor files which can be found at github.com/TheMuppets. For motorola devices, open proprietary_vendor_motorola. Create a new file on your desktop called "roomservice.xml" and open it. Paste this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="" path="" remote="github" revision="cm-12.1" />
<project name="" path="" remote="github" revision="cm-12.1" />
<project name="" path="" remote="github" revision="cm-12.1" />
<project name="" path="" remote="github" revision="cm-12.1" />
</manifest>
Then go back to the github pages, copy the names of the repositorys and paste <project-name-on-github>/<name-of-the-repository> in the quotes after "name=". For titan, it would look like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_motorola_titan" path="" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_device_motorola_msm8226-common" path="" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_kernel_motorola_msm8226" path="" remote="github" revision="cm-12.1" />
<project name="TheMuppets/proprietary_vendor_motorola" path="" remote="github" revision="cm-12.1" />
</manifest>
Now for the path, just copy the name of the repository, remove "android_" or "proprietary_" and replace each "_" with a "/"
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="android_device_motorola_titan" path="device/motorola/titan" remote="github" revision="cm-12.1" />
<project name="android_device_motorola_msm8226-common" path="device/motorola/msm8226-common" remote="github" revision="cm-12.1" />
<project name="android_kernel_motorola_msm8226" path="kernel/motorola/msm8226" remote="github" revision="cm-12.1" />
<project name="proprietary_vendor_motorola" path="vendor/motorola" remote="github" revision="cm-12.1" />
</manifest>
Sometimes you need some more repositorys, for example for titan you also need android_hardware_qcom_fm and android_device_qcom_common. Add them the same way as you added all the other sources. You can find out which repositorys you need by opening cm.dependencies in your decive- and chipset sources.
Now save the file and push it to "<android>/.repo/local_manifests/". Now return to your terminal and type "repo sync" again.
Step 4: Edit the device tree
You have to edit the device tree so that it fits to the ROM that you want to build. Go to <android>/vendor. In there you will find a folder with the abbreviation for the ROM. For example for CarbonROM the abbreviation is carbon, for EuhoriaOS it's eos, for AOKP it's aokp and for CyanogenMod it's cm. Remember this abbreviation. Back in terminal, type "cd device/<brand-you-are-building-for>/<phone-you-are-building-for>/" and then "mv cm.mk <remembered-abbreviation>.mk" and "mv cm.dependencies <remembered-abbreviation>.dependencies". After that, type "nano <remembered-abbreviation>.mk" and replace "cm" with "<remembered-abbreviation>" where ever you see it. To save the file, hit Ctrl+O, then Enter and then Ctrl+X. Now type "cd .." and then "cd <chipset-you-are-building-for>. Now, type "mv cm.dependencies <remembered-abbreviation>.dependencies" again.
Step 5: Building
We finally arrived there! To build our ROM, in terminal type ". build/envsetup.sh" and then "brunch <codename-for-your-device>".
This process takes time, depending on your PC specs. On my PC (2 cores, 3gb RAM), building takes about 8h. On my friends Server (12 cores, 128gb RAM), building takes about 20 mins.
Happy building!
Credits:
@Sarath280 for teaching me how to build ROMs
My dad for teaching me everything else aboout technology
@sylentprofet for the guide how to prepare linux to build Android
@notiflux
Het Max, Amol here. Thank You So Much. Love ya.
Sent from my Moto G 2014 using Tapatalk
Thanks! For this great tutorial! I am testing it right now I had problems making the roomservice.xml but with this tutorial it was very easy .
I am using a china device so not so many ROMs avalible so I am building one myself
Hello @notiflux,
Thanks for the guide,
I have a little issue though,
The thing is that the device that i want to build the rom for(SM-T211) DO NOT have a device tree already built. So I need to make that first. Can you help me with that?
sscsps said:
Hello @notiflux,
Thanks for the guide,
I have a little issue though,
The thing is that the device that i want to build the rom for(SM-T211) DO NOT have a device tree already built. So I need to make that first. Can you help me with that?
Click to expand...
Click to collapse
I'm not really into that kinda stuff since I never worked on such a device, but I know that there are guides here on xda on how to create your own device tree. But I think your device needs to be rooted for that
http://forum.xda-developers.com/showthread.php?t=2010281 you can try this guide. Good luck!
help in source tree
Sir, i downloaded ,android aosp open source tree ,,in desktop directory ,,linux 16:10 ,next i downloaded open source ,,kernal and android files from lg website ,,as i am using lg ,,,in open source lg ,,i got 2 tar files,,1 android ,2nd is kernal tar,,and ine readme.txt i opened it ,,it showing that untar android. tar and merge ,in download.android source tree ,,but where i am not getting ,,please tell me where ,,please sir
I see this thread is from 2015, does the guide work for nougat also?
Any solution for this error?
Code:
Starting build with ninja
ninja: Entering directory `.'
ninja: error: '/home/harshone/android/lineage/out/target/product/m8/obj/KERNEL_OBJ/usr', needed by '/home/harshone/android/lineage/out/target/product/m8/obj/STATIC_LIBRARIES/libsdcard_intermediates/sdcard.o', missing and no known rule to make it
build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
make: Leaving directory '/home/harshone/android/lineage'
#### make failed to build some targets (02:30 (mm:ss)) ####
Hi, how do I apply security updates to the source?
HarshOne said:
Any solution for this error?
Code:
Starting build with ninja
ninja: Entering directory `.'
ninja: error: '/home/harshone/android/lineage/out/target/product/m8/obj/KERNEL_OBJ/usr', needed by '/home/harshone/android/lineage/out/target/product/m8/obj/STATIC_LIBRARIES/libsdcard_intermediates/sdcard.o', missing and no known rule to make it
build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
make: Leaving directory '/home/harshone/android/lineage'
#### make failed to build some targets (02:30 (mm:ss)) ####
Click to expand...
Click to collapse
It seams you don't have libsdcard folder/file in your device tree.
So try to search and download that file from github.
then copy and paste that file to your device tree
Hello respected developers,
I'm very enthusiastic and inspired by viper os to develop it for my other devices too. But first I tried to build the rom for my redmi 4a because i wanted to test the success of my building. I would like to inform you that i have gone through every process of establishing environment to reposync all learnig from aosp document and manifests on the viper os github and even downloaded device tree,vendor and kernel as from git hub . and i made neccessary edits to androidproducts.mk , lineage_rolex.mk to naming viper_rolex.mk and setting device path.
And finally i proceeded by :
Code:
./build/envsetup.sh
lunch viper_rolex-userdebug
mka poison
The build process then followed for about 5 hrs and i was hopefully waiting close success but alas! I came up with a error given this way:
Warning: Stripped invalid locals information from 2 methods.
In /home/shrawan/Desktop/workon_viper/out/soong/.intermediates/frameworks/base/packages/EasterEgg/EasterEgg/android_common/combined/EasterEgg.jar:kotlin/collections/SlidingWindowKt$windowedIterator$1.class:
Methods with invalid locals information:
java.lang.Object kotlin.collections.SlidingWindowKt$windowedIterator$1.doResume(java.lang.Object, java.lang.Throwable)
In /home/shrawan/Desktop/workon_viper/out/soong/.intermediates/frameworks/base/packages/EasterEgg/EasterEgg/android_common/combined/EasterEgg.jar:kotlin/sequences/SequencesKt___SequencesKt$zipWithNext$2.class:
Methods with invalid locals information:
java.lang.Object kotlin.sequences.SequencesKt___SequencesKt$zipWithNext$2.doResume(java.lang.Object, java.lang.Throwable)
Some warnings are typically a sign of using an outdated Java toolchain. To fix, recompile the source with an updated toolchain.
[ 82% 60970/74331] build /home/shrawan...icy_tests_intermediates/sepolicy_tests
FAILED: /home/shrawan/Desktop/workon_viper/out/target/product/rolex/obj/ETC/sepolicy_tests_intermediates/sepolicy_tests
/bin/bash -c "(/home/shrawan/Desktop/workon_viper/out/host/linux-x86/bin/sepolicy_tests -l /home/shrawan/Desktop/workon_viper/out/host/linux-x86/lib64/libsepolwrap.so -f /home/shrawan/Desktop/workon_viper/out/target/product/rolex/obj/ETC/plat_file_contexts_intermediates/plat_file_contexts -f /home/shrawan/Desktop/workon_viper/out/target/product/rolex/obj/ETC/vendor_file_contexts_intermediates/vendor_file_contexts -p /home/shrawan/Desktop/workon_viper/out/target/product/rolex/obj/ETC/sepolicy_intermediates/sepolicy ) && (touch /home/shrawan/Desktop/workon_viper/out/target/product/rolex/obj/ETC/sepolicy_tests_intermediates/sepolicy_tests )"
The following types on /data/ must be associated with the "core_data_file_type" attribute: netmgrd_data_file
[ 82% 60975/74331] //bionic/libc:commo...ioner preprocess include [linux_glibc]
warning: attempted to generate guard with empty availability: obsoleted = 23
warning: attempted to generate guard with empty availability: obsoleted = 21
ninja: build stopped: subcommand failed.
11:58:35 ninja failed with: exit status 1
#### failed to build some targets (04:38:04 (hh:mm:ss)) ####
I did a enough of the search in and out of the forum but i couldn't able to know what problem is this and i dont have any idea how to solve this. Please give me some light on what problem is this and guide me where should i be looking to solve. I have a great enthusiasm of learning but this problem solution isn't available or discussed properly in any place or maybe i didn't find the place where to look. Please help me on this
[[/COLOR]I was able to fix it by modifying the file at device/qcom/sepolicy/vendor/common/file.te and specifying
Code:
type netmgrd_data_file, file_type, data_file_type, core_data_file_type;
I don't know why / how this file is ending up here though
HarshOne said:
Any solution for this error?
Code:
Starting build with ninja
ninja: Entering directory `.'
ninja: error: '/home/harshone/android/lineage/out/target/product/m8/obj/KERNEL_OBJ/usr', needed by '/home/harshone/android/lineage/out/target/product/m8/obj/STATIC_LIBRARIES/libsdcard_intermediates/sdcard.o', missing and no known rule to make it
build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
make: Leaving directory '/home/harshone/android/lineage'
#### make failed to build some targets (02:30 (mm:ss)) ####
Click to expand...
Click to collapse
mine have same error, seem like kernel have wrong config (i dont know how to fix ) )

Build Error ( Euphoria-OS )

Hie guys can anyone please help I folked all The CM Repos to build for Z3 and when i compile i get the below error
What Am I missing ?
This the folder where the error comes from
https://github.com/EuphoriaOS/android_device_sony_msm8974-common
Code:
Install: /home/blaquesoul/android/eos/out/target/product/z3/system/xbin/memtrack_share
target Executable: rawbu (/home/blaquesoul/android/eos/out/target/product/z3/obj/EXECUTABLES/rawbu_intermediates/LINKED/rawbu)
target Executable: showmap (/home/blaquesoul/android/eos/out/target/product/z3/obj/EXECUTABLES/showmap_intermediates/LINKED/showmap)
target Strip: tcpdump (/home/blaquesoul/android/eos/out/target/product/z3/obj/EXECUTABLES/tcpdump_intermediates/tcpdump)
Target boot image: /home/blaquesoul/android/eos/out/target/product/z3/boot.img
cp: missing destination file operand after '/home/blaquesoul/android/eos/out/target/product/z3/combinedroot/sbin/'
Try 'cp --help' for more information.
device/sony/msm8974-common/boot/custombootimg.mk:17: recipe for target '/home/blaquesoul/android/eos/out/target/product/z3/boot.img' failed
make: *** [/home/blaquesoul/android/eos/out/target/product/z3/boot.img] Error 1
make: *** Waiting for unfinished jobs....
#### make failed to build some targets (49:14 (mm:ss)) ####
Sony Z3 Build Error
@Alx31 I have tried Using the CM Repos and I still get the same error below is the error and the miniutes where it stopped an my loacal manifest
Error
Code:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
target Strip: rawbu (/home/blaquesoul/android/eos/out/target/product/z3/obj/EXECUTABLES/rawbu_intermediates/rawbu)
target Strip: showmap (/home/blaquesoul/android/eos/out/target/product/z3/obj/EXECUTABLES/showmap_intermediates/showmap)
Install: /home/blaquesoul/android/eos/out/target/product/z3/system/xbin/tcpdump
Target boot image: /home/blaquesoul/android/eos/out/target/product/z3/boot.img
cp: missing destination file operand after '/home/blaquesoul/android/eos/out/target/product/z3/combinedroot/sbin/'
Try 'cp --help' for more information.
device/sony/msm8974-common/boot/custombootimg.mk:17: recipe for target '/home/blaquesoul/android/eos/out/target/product/z3/boot.img' failed
make: *** [/home/blaquesoul/android/eos/out/target/product/z3/boot.img] Error 1
make: *** Waiting for unfinished jobs....
Note: frameworks/base/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: packages/providers/ThemesProvider/src/org/cyanogenmod/themes/provider/util/SystemUiPreviewGenerator.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
#### make failed to build some targets (48:47 (mm:ss)) ####
real 48m46.454s
user 37m59.840s
sys 39m41.106s
[[email protected] eos]$
My Local Manifest
<?xml version="1.0" encoding="UTF-8"?>
<!--Please do not manually edit this file-->
<manifest>
<project name="CyanogenMod/android_device_sony_z3" path="device/sony/z3" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_kernel_sony_msm8974" path="kernel/sony/msm8974" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_device_sony_common" path="device/sony/common" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_device_sony_shinano-common" path="device/sony/shinano-common" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_device_sony_msm8974-common" path="device/sony/msm8974-common" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_hardware_sony_DASH" path="hardware/sony/DASH" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_hardware_sony_thermanager" path="hardware/sony/thermanager" remote="github" revision="cm-12.1" />
<project name="EuphoriaOS/proprietary_vendor_sony" path="vendor/sony" remote="github" revision="lollipop-5.1" />
</manifest>
Click to expand...
Click to collapse
Fixed i guess?
please show, at least others can use to it

Help with local manifest file

I am trying to build cm11 for my device (samsung a500fu) but Im struggling to create the local manifest file in repo.
I am a newbie, please help me.
Here is the github link
https://github.com/moonbutt74/device_samsung_a5ulte
Thanks
I tried to build the rom using this local manifest:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="MSM8916-Samsung/android_device_samsung_a5ultexx" path="device/samsung/a5ulte" remote="github" revision="cm-12.1"/>
<project name="MSM8916-Samsung/android_device_samsung_a5ultexx" path="vendor/samsung/a5ulte" remote="github" revision="cm-12.1"/>
<project name="moonbutt74/kernel_samsung_sm-a500fu.git" path="kernel/samsung/a5ulte" remote="github" revision="master"/>
</manifest>
But I get this error:
brunch a5ulte
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/samsung/a5ulte/cm.mk]]: "device/samsung/a5ultexx/full_a5ultexx.mk" does not exist. Stop.
Device a5ulte not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Traceback (most recent call last):
File "build/tools/roomservice.py", line 76, in <module>
result = json.loads(urllib.request.urlopen(githubreq).read().decode())
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/samsung/a5ulte/cm.mk]]: "device/samsung/a5ultexx/full_a5ultexx.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_a5ulte
I am using this guide to build:
http://forum.xda-developers.com/nexus-4/general/guide-cm11-how-to-build-cyanogenmod-11-t2515305
And these are the github sources I could find:
https://github.com/search?utf8=✓&q=a500fu
Please help
Anyone?

Need Help Getting Error While Compiling

Code:
breakfast G42
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:245: *** Can not locate config makefile for product "cm_G42". Stop.
Device G42 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for G42 not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
build/core/product_config.mk:245: *** Can not locate config makefile for product "cm_G42". Stop.
build/core/product_config.mk:245: *** Can not locate config makefile for product "cm_G42". Stop.
** Don't have a product spec for: 'cm_G42'
** Do you have the right repo manifest?
I have created a local manifest
Code:
<manifest>
<remote name="InFocus-G42"
fetch="https://github.com/"
revision="cm-14.1" />
<!-- Local Project-->
<project path="device/InFocus/G42" name="systemlessandroiddev/android_device_InFocus_G42" remote="InFocus-G42" />
<project path="vendor/InFocus/G42" name="systemlessandroiddev/android_vendor_InFocus_G42" remote="InFocus-G42" />
</manifest>
But again same error
Please Help me
Thankx in Advance
Hi !
I see you`re getting support here https://forum.xda-developers.com/showpost.php?p=71276810&postcount=6193 and here https://forum.xda-developers.com/showpost.php?p=71276587&postcount=1164
Also you posted here https://forum.xda-developers.com/ch...ing-source-t3295443/post71256453#post71256453 and that`s the proper section from where you can get more assistance
Another goo start to learn here https://forum.xda-developers.com/chef-central/android/guide-android-rom-development-t2814763
Good luck !

Categories

Resources