Related
As an exercise to figure out how all of this works, I'm currently trying to build an AOSP Cupcake image with the stock HTC kernel. From what Lox posted earlier, a lot still didn't work.. and I think this is right in line with issues we're finding overall. It's my starting point, and so I'm posting here about how I'm accomplishing things. Follow along if you'd like and post any issues you come up with.. or if you make it to the next step!
1. Get a stable development environment with the right tools. Ensure you follow all of the information on the Android Source [1] page to make sure you have the right versions of GCC and Java.
2. Follow the instructions here: http://github.com/kiall/cupcake_platform_vendor_htc_hero
Thanks to Lox for his original work on the platform vendor repo, and to kiall for spending time this weekend to help pare the process down to be as easy as possible. The more people we have building stock AOSP builds, the more eyes we have working on the hardware issue. Keep it up guys!
Thanks for the guide was looking for something similar this afternoon
I set same goal for myself, to build a AOSP Cupcake ROM from the source. I have a question, though. What exactly is the purpose of loxK's cupcake_platform_vendor_htc_hero repo? I suspect it has something to do with the boot process since there are some init files..
And thanks for the guide!
Samek said:
I set same goal for myself, to build a AOSP Cupcake ROM from the source. I have a question, though. What exactly is the purpose of loxK's cupcake_platform_vendor_htc_hero repo? I suspect it has something to do with the boot process since there are some init files..
And thanks for the guide!
Click to expand...
Click to collapse
That is the product description that describes the device specific stuff needed to build for the Hero. Like what proprietary files needs to be saved, device specific init files, etc etc.
Would you guys mind deleting your posts above.. so I can have a bit more space to work?
Known Issues
Make fails with "No module defined for the given PRODUCT_POLICY (android.policy_phone)."
Make the following change to build/tools/findleaves.sh: https://review.source.android.com/#patch,sidebyside,9284,1,tools/findleaves.sh
On point 6, I assume you mean BoardConfig.mk and not BuildConfig.mk, right?
Yep, sorry =)
By the way, if you want WLAN, you can compile the driver from the AOSP tree, something like this:
Code:
[email protected]:~/android/src/cupcake/system/wlan/ti/sta_dk_4_0_4_32$ make KERNEL_DIR=~/android/kernel/kernel_hero
~/android/src/cupcake is my AOSP dir.
~/android/kernel/kernel_hero is where my Hero kernel source is.
This drops a wlan.ko in the current dir that you can get into your update package, make sure you get the correct wpa_supplicant startup for it (check from the normal hero rom).
Bluetooth stuff is also in system/bluetooth dir in AOSP tree. I've not messed so much with it, don't use BT myself, but it looks like it's all in there to make it function.
Headset is probably just some keycodes in an XML file, it seems to register like normal keystrokes. There are some h2w_headset (or something like that) files on the release roms, have a look at those.
And also, thanks for this nice clean guide jnwhiteh, my old AOSP build dir was a mess. So this was nice way for me to clean it up and at the same time check your guide
My suggestion is that we keep this thread for discussions regardning it, and maybe keep an actual up to date guide on the wiki, what do you think?
I've forked loxK's vendor stuff on github, and am adding as much of this as I can.. still a WIP
http://github.com/kiall/cupcake_platform_vendor_htc_hero
Hopefully I'll be able to put as much as possible of this in there so we can build with far less steps!
Thanks jnwhiteh
Also ... if anyone wants commit on the repo (esp jnwhiteh!) let me know...
like the progress i see
keep it up you guys, and thanx for the great how-to, will try it out as soon as i got some sparetime
I've got this process down to...
1. Get a stable development environment with the right tools.
2. Create a .repo/local_manifest.xml with the following contents:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github" fetch="git://github.com/" />
<project path="vendor/htc/hero" name="kiall/cupcake_platform_vendor_htc_hero" revision="refs/heads/master" remote="github" />
</manifest>
3. repo sync
4. cd build && git cherry-pick 1e0847c2fcbe1b95464f32a719d2b9e620d1e6ec && git cherry-pick 6ea3b8856d656752c0310ca237ed99e7451be83b && cd ../system/core/ && git cherry-pick 2a63bb7abf1b27a7a2e8fd5951d77f71a2f290d4 && cd ../..
5. cd vendor/htc/hero/ && ./extract-files.sh && cd ../..
6. Download a recovery image from here and save it as recovery.img (I'll likely remove this part..)
7. make -j4 otapackage
8. .. Apply the update.zip generated ... no changes necessary
I'll update the github repo with this in a bit
I've pushed my changes to http://github.com/kiall/cupcake_platform_vendor_htc_hero
There is an updated readme / instructions at that page!
Right now - this is 99.9% jnwhiteh's stuff, just slightly more "automated"..
Thanks jnwhiteh!
Great work guys. At least some other guys to work on Hero developpement.
May I suggest a central git repo ? I can add you as collaborators to my git if you wish so you could submit your own patches with your names.
Yep, that would work for me, we'll see what kiall wants to do =)
jnwhiteh said:
Yep, that would work for me, we'll see what kiall wants to do =)
Click to expand...
Click to collapse
works for me aswell - only thing is, I've got *loads* of changes in my fork.. its git after all... we can pull and push each others changes pretty easy!
So, the issues that we're having:
Headphone:
Everything appears to start fine and the hardware/software properly detects the plugging in and unplugging of headphones, but it doesn't actually change the sound output. It says, instead, that it's ignoring the switch:
Camera:
Force close on the camera application
Bluetooth:
SIGSEGV
Trackball
Does not work
Actually, the issue with the headphone isn't due to some missing parts in your builds : http://code.google.com/p/android/issues/detail?id=2534
That's using the HTC heaphone_adapter_, which we don't have on the Hero. We can certainly try to patch AOSP and check it.. but the G1 uses an external usb adapter, and that's whats been reported as broken. One person there says they have a Sprint HTC Hero, but again...
Thanks!
Oups, I had no idea that an adapter was needed on some HTC device, my bad...
Np =) It still might be related, but I doubt it.
Hi guys!
I'm wondering what I'd have to do if I wanted to modify the built in apps inside Android..
I've got a HTC Hero running FroydVillain 1.5.0. Let's say... I want to modify the messaging app that's included, MMS.apk. I wouldn't know how to go about this, and I have a few questions...
Firstly, what sources exactly are used for building the built in apps for a given ROM? The source code link in the FroydVillain post, for example, is just for the kernel. The rest of the OS isn't there.
Secondly, I hear that in order to modify a built in app, you need to build the entire OS. If I just download all the code from Google official repo, and compile that, will it just... work on my phone, provided I use a kernel that is specific to my phone?
Lastly, are there any tips anyone has for someone who just wants to modify a couple of the built in apps? Is it possible to build them as standalone apps? Or import them into Eclipse?
I've had a search around the forum and the internets in general, and people have asked similear questions, but I've yet to find a good answer. This thread comes to mind: http://forum.xda-developers.com/showthread.php?t=635197
If anyone could help me, or point me in the direction of any help, that'd be awesome! Thanks!!
FunkTrooper said:
Hi guys!
I'm wondering what I'd have to do if I wanted to modify the built in apps inside Android..
I've got a HTC Hero running FroydVillain 1.5.0. Let's say... I want to modify the messaging app that's included, MMS.apk. I wouldn't know how to go about this, and I have a few questions...
Firstly, what sources exactly are used for building the built in apps for a given ROM? The source code link in the FroydVillain post, for example, is just for the kernel. The rest of the OS isn't there.
Secondly, I hear that in order to modify a built in app, you need to build the entire OS. If I just download all the code from Google official repo, and compile that, will it just... work on my phone, provided I use a kernel that is specific to my phone?
Lastly, are there any tips anyone has for someone who just wants to modify a couple of the built in apps? Is it possible to build them as standalone apps? Or import them into Eclipse?
I've had a search around the forum and the internets in general, and people have asked similear questions, but I've yet to find a good answer. This thread comes to mind: http://forum.xda-developers.com/showthread.php?t=635197
If anyone could help me, or point me in the direction of any help, that'd be awesome! Thanks!!
Click to expand...
Click to collapse
1) The whole sources for everything are there
http://github.com/ninpo
2) You can import the sources to eclipse, but I think you will need to build the entire tree, as opposed to just what you change
3) Apktool lets you do smali and resource edits on an APK. Without knowing what you aim to do, it's hard to guide you specifically.
Most apps are based on the sources provided by google. I assume you are talking about Froyo Hero ROMs (i.e. FroydVillain), which apps are generally built from the source of CyanogenMod. Specifically for FroydVillain, if you look around ninpo github you will see some packages with some changes to their code, although it does seem that many of the changes in recent releases are not there. I have actually PMed ninpo about this and hopefully this is only a technicality.... I assume that the other packages and apps (most of them) he just compiled off the CM sources without changes.
In any case, if you compile an app either from the CM source or from google's original sources, it should work just to copy the apk file - just make sure you use an appropriate ROM (i.e. Froyo ROM if you built it from Froyo sources). The reason to want the CM sources, is that if they have incorporated further fixes (over the google sources) you may want them.
Finally, some more practical advice: I would start with the google sources: http://source.android.com/source/index.html since I have found these instructions and explanations easier to begin with - it should be quite straight forward to build these sources on a linux machine (or VM).
Then you can also try to tackle the cyanogen source: http://wiki.cyanogenmod.com/index.php?title=Building_from_source currently missing instructions on how to build for hero. But if you only want to copy apks out of it, you can just build a generic build (like in the google souce).
If you have specific problems, ask and I'll try to help you.
Good luck.
pulser_g2 said:
1) The whole sources for everything are there
http://github.com/ninpo
Click to expand...
Click to collapse
For example where are all the changes to the dalvik code? I do not follow closely enough the changes in Froyd to point out other things which might be missing (if at all), but there are relatively few committed changes to the CM code. Specifically the dalvik code, ninpo mentioned hundreds of changes which caught my interest and are definitively not there.
The kernel sources do seem to be up to date always - been following that one closely .
Thanks for the advice I love this forum!
What I'm trying to do, in case you're wondering, ultimately, is to modify the built-in messaging application to give the user the option of sending a message by the normal method, or by using their provider's free webtext service, something that all the carriers seem to offer here in Ireland.
So, for example, you'd press the Send button, and you'd be able to select one of those methods. (of course, you'd have to have a data connection for the webtext). There's also be an interface for entering your login credentials for your carrier's website.
I'm doing this party because it would be very useful. I also feel that it would give me a good introduction to how you'd go about modifying Android. I mean, from a programming point of view, it shouldn't be *too* hard to do. I already have a simple standalone app that I made which can send a text message via an Irish carrier's webtext service. But it's all good experience to try to modify other people big codebases.
I have a good bit of experience with web application development, but my experience with other programming is a little more limited. I usually use PHP, where there's none of this compiling nonsense. You just write scripts and off they go!
So I'm gonna go off and see if I can set up an environment where I can build.. the OS, I guess.
If I was to take the vanilla official Google sources, would they work on my phone? Or would I have to use an official Google developer phone... or the emulator? Or maybe if I stopped writing here and investigated those links you've provided, I'd know that by know.
Brb, investigating
Yeh investigating and just trying to do it is usually the best way
To clarify what I was trying to say above: All the java code is obvious very portable - one of the big advantages of java. In the case of android it is compiled to an .apk file and this file should be, at the very least, portable to all android "devices" running this android version. So the apk you build (for example from the vanilla 2.2 sources) should work on the emulator (good for initial debugging) and any 2.2 ROMs.
erasmux said:
For example where are all the changes to the dalvik code? I do not follow closely enough the changes in Froyd to point out other things which might be missing (if at all), but there are relatively few committed changes to the CM code. Specifically the dalvik code, ninpo mentioned hundreds of changes which caught my interest and are definitively not there.
The kernel sources do seem to be up to date always - been following that one closely .
Click to expand...
Click to collapse
I'm currently on "vacation" from any and all Android development for a week. I'll be back after the weekend, at which time my modifications will be cleaned up and committed to git. The kernel is always current with my latest kernel release due to GPL obligations. The extra time away has also highlighted some changes I need to make both to the kernel and to my Android modifications when I get back.
Hacre said:
I'm currently on "vacation" from any and all Android development for a week. I'll be back after the weekend, at which time my modifications will be cleaned up and committed to git. The kernel is always current with my latest kernel release due to GPL obligations. The extra time away has also highlighted some changes I need to make both to the kernel and to my Android modifications when I get back.
Click to expand...
Click to collapse
Thanks Ninpo
Hello developers,
I'm starting this thread because I'm interested in designing a development environment for the Samsung Galaxy Tab so that developers, like myself, can have an easy environment for modifying the Android OS. I'll be aiming this environment at all Android Devices but I want to start with the Samsung Galaxy Tab.
At the moment I don't have much of a structure for this project, nor much direction, so if anyone has any ideas for what tools etc I should include in this please let me know. If anyone wants to get on board with the project it would also be appreciated. Send me an email.
tool ideas:
- integrating the GCC and Javac compilers into the environment.
- integrating a way to generate make files and to build from these files.
- GUI for editing files from the kernel and application framework.
- easy to use way of setting up branches for projects with the Repo and Git included in the Android Source Code.
Count me in. I am getting a Tab tonight and I plan to develop for it. Currently, I have got the froyo source on my machine and want to integrate the open source code that Samsung released for this device.
Has anyone successfully built a custom ROM using the Samsung source code? Any help on this will be appreciated.
Awesome!
I've got Froyo working on the Tab, which I built from the source code from the android open source project website but it's just a generic build from the straight source, nothing special. not with the samsung code though. do you have any links for it?
I've put a small amount of stuff into the Dev Environment, most just shell files etc to make installing everything easier. One click sort of thing.
My first task though is going to be to try and fix the failure that is the Samsung display driver. Most noticeable are the 4 by 1 widgets that don't stretch across the whole screen.
After that I'm going to start work on a GUI for the environment and the iOS Emulator.
thoughts?
Whats wrong with Android SDK and Eclipse?
It's not the most straight forward thing. I'm looking to make something that includes its own libraries too. It's aimed at beginning developers mostly, so you can literally download one file which includes everything you'll need then start editting and then one click to compile and have it all work. Simplicity
I'm also interested in this... The SGT is my first android device, and my company will want android apps for internal and external uses... and a one click dev environment would be a most welcome option!
DevShroom said:
I've got Froyo working on the Tab, which I built from the source code from the android open source project website but it's just a generic build from the straight source, nothing special. not with the samsung code though. do you have any links for it?
Click to expand...
Click to collapse
Straight up AOSP? Could you have a crack at CM?
Anything you need, including testers, I'm in.
I have programmed some programs in android. If you need my help, i will be glad to help,
Sent from my GT-P1000 using Tapatalk
i'm currently setting up a new galaxy Tab ubuntu 10.10 VM but I always fail at installing java5-jdk, but when im ready i'm going to have a look at the CM and AOSP source and i !try! to port CM to the tab!
I am working on a custom rom , if you need any help do not hesitate
yann06 said:
I am working on a custom rom , if you need any help do not hesitate
Click to expand...
Click to collapse
are u building from source or are you modifing a stock rom?
DevShroom said:
Hello developers,
I'm starting this thread because I'm interested in designing a development environment for the Samsung Galaxy Tab so that developers, like myself, can have an easy environment for modifying the Android OS. I'll be aiming this environment at all Android Devices but I want to start with the Samsung Galaxy Tab.
At the moment I don't have much of a structure for this project, nor much direction, so if anyone has any ideas for what tools etc I should include in this please let me know. If anyone wants to get on board with the project it would also be appreciated. Send me an email.
tool ideas:
- integrating the GCC and Javac compilers into the environment.
- integrating a way to generate make files and to build from these files.
- GUI for editing files from the kernel and application framework.
- easy to use way of setting up branches for projects with the Repo and Git included in the Android Source Code.
Click to expand...
Click to collapse
I'll be interested in getting involved in a community driven project for the SGT. I'm a unix admin with lots of experience in the OS and system development field. Interested in what ideas you have on this.
Try using openjdk. It works for me.
Sent from my GT-P1000 using Tapatalk
Thanks everyone for the positive feedback on all this! it'll be good to have as many people on board as possible.
if you have troubles downloading the sun-java5-jdk there is a good tutorial on it on this site, it doesnt come as part of the repository by default so until you add it in sudo apt-get install sun-java5-jdk will not work.
atm i am only working with AOSP not CM, i am trying to set this dev environment up for a nice simple build and then i'll start working on more complex builds so we can start developing custom roms.
@paulshields - do you know much about linux/android drivers? i wanna fix the widget sizing problem on SGT but my driver knowledge is limited
I've tried out almost every ROM I could find for the VZW Galaxy Nexus. They all have their own pros, but none of them were really perfect for me.
I already know Java, so I know that should help me a lot. But I do have some general questions.
My main questions is, do I compile from source? Or do I use something like JRO03L? What exactly is JRO03L? I noticed a lot of ROMs were based off either AOSP or JRO03L, or some other ROM.
When people say their ROM is based of AOSP, does that mean they edited the source code directly?
What about drivers and stuff? Do phones even have those? How do I get them for my phone?
What percentage of ROM editing is done through source code modifying and what percentage is through Cooking?
Sorry for all the questions, I'm just kinda confused.
jtvd78 said:
I've tried out almost every ROM I could find for the VZW Galaxy Nexus. They all have their own pros, but none of them were really perfect for me.
I already know Java, so I know that should help me a lot. But I do have some general questions.
My main questions is, do I compile from source? Or do I use something like JRO03L? What exactly is JRO03L? I noticed a lot of ROMs were based off either AOSP or JRO03L, or some other ROM.
When people say their ROM is based of AOSP, does that mean they edited the source code directly?
What about drivers and stuff? Do phones even have those? How do I get them for my phone?
What percentage of ROM editing is done through source code modifying and what percentage is through Cooking?
Sorry for all the questions, I'm just kinda confused.
Click to expand...
Click to collapse
compile from source needs linux (mac osx only builds master branch);
aosp = android open source project
JRO03L, JRO03R: release tags. they mark a certain landmark in android development, normally leads to/are (pratically) the same as ota's.
yes, aosp-based roms edit source then build. why would we cook when we can build? makes no sense on a aosp supported device like ours.
on linux, just install android-sdk (includes fastboot and adb) and add it to your $PATH, and create udev rules for android devices (most distros provide this as a package). no need for drivers on linux.
http://forum.xda-developers.com/showthread.php?t=1386615
http://source.android.com/source/initializing.html
sent from my i9250
bk201doesntexist said:
compile from source needs linux (mac osx only builds master branch);
aosp = android open source project
JRO03L, JRO03R: release tags. they mark a certain landmark in android development, normally leads to/are (pratically) the same as ota's.
yes, aosp-based roms edit source then build. why would we cook when we can build? makes no sense on a aosp supported device like ours.
on linux, just install android-sdk (includes fastboot and adb) and add it to your $PATH, and create udev rules for android devices (most distros provide this as a package). no need for drivers on linux.
http://forum.xda-developers.com/showthread.php?t=1386615
http://source.android.com/source/initializing.html
sent from my i9250
Click to expand...
Click to collapse
Thanks for the links
And when I mentioned drivers, I meant for the phone hardware. Like, does android just magically work on all phones? or do some phones need something extra to work with AOSP?
Now, after I set up Ubuntu with the guides above, are there any guides to the basics of source editing? Like what do I need to do to install busybox? root android? theme?
I googled on how android 'worked' , so i can get a better understanding on how it operates, but all the results were pretty vague.
jtvd78 said:
Thanks for the links
And when I mentioned drivers, I meant for the phone hardware. Like, does android just magically work on all phones? or do some phones need something extra to work with AOSP?
Now, after I set up Ubuntu with the guides above, are there any guides to the basics of source editing? Like what do I need to do to install busybox? root android? theme?
I googled on how android 'worked' , so i can get a better understanding on how it operates, but all the results were pretty vague.
Click to expand...
Click to collapse
you need to use the right words in google to find what you need. start here, look under getting started http://source.android.com/source/index.html
simms22 said:
you need to use the right words in google to find what you need. start here, look under getting started http://source.android.com/source/index.html
Click to expand...
Click to collapse
Part of the questions you're asking OP, can be solved with information available on that link simms22 and I posted.
jtvd78 said:
Thanks for the links
And when I mentioned drivers, I meant for the phone hardware. Like, does android just magically work on all phones? or do some phones need something extra to work with AOSP?
Click to expand...
Click to collapse
obviously not, that's why i said "aosp-supported devices". devices that aren't aosp supported, need the same things we need, except in their case there's the matter of proprietary frameworks and drivers (called binaries), which we have available almost from the start.
jtvd78 said:
Now, after I set up Ubuntu with the guides above, are there any guides to the basics of source editing? Like what do I need to do to install busybox? root android? theme?
Click to expand...
Click to collapse
sure, guides @github or at any other repo. there's no better guide than being able to read source code and how the masters do it.
jtvd78 said:
I googled on how android 'worked' , so i can get a better understanding on how it operates, but all the results were pretty vague.
Click to expand...
Click to collapse
@source.android.com.
tip: you'll need to learn how to git. there's plenty of tutorials around the web.
I got everything set up from google's directions, but when I attempt to build from the source, I dont have the option to select toro.
1. full-eng
2. full_x86-eng
3. vbox_x86-eng
4. full_grouper-userdebug
5. mini_armv7a_neon-userdebug
6. mini_armv7a-userdebug
7. full_wingray-userdebug
8. full_crespo-userdebug
9. full_maguro-userdebug
10. full_panda-userdebug
jtvd78 said:
I got everything set up from google's directions, but when I attempt to build from the source, I dont have the option to select toro.
1. full-eng
2. full_x86-eng
3. vbox_x86-eng
4. full_grouper-userdebug
5. mini_armv7a_neon-userdebug
6. mini_armv7a-userdebug
7. full_wingray-userdebug
8. full_crespo-userdebug
9. full_maguro-userdebug
10. full_panda-userdebug
Click to expand...
Click to collapse
instead, do:
Code:
. build/envsetup.sh && lunch full_toro-user && make -j4 otapackage
done.
Thanks! One more question... where exactly is the finished zip?
it tells you where it is when it finishes building..
out/target/device/samsung/toro/
sent from my i9250
This is DIY
If you are just looking for a well done and stable PA download, you are probably the wrong place. Then go and grab xzzz9097s build, it's good!
If you are impatient and know what to do, just leave and do the init/sync/build.
For anyone wanting to build her/his own PA without any "extras", go ahead and read on.
We already have a very easy full guide to compile CM10 for HOX. I was looking for the same for ParanoidAndroid, but did not find a 100% guide, meaning I had to do it myself.
To be fair, I only needed to do 1% as you will see after the usual disclaimer. I hope this little guide will be enough to make anyone complile their own PA for the HOX.
The usual disclaimer:
I am no developer!
I just happen to be able to read and understand instructions. I am persistent and know how to search for answers.
With luck and patience I ended up with a 184MB zip, that installs and runs just fine on my HOX.
I pass this guide as it is now, no guarantee no returns. I will probably not be able to help much here, time is very limited, so no commitments for support from me.
If it breaks you device, you broke it all by yourself
I am no developer!
gokussjx made the general guide, explaining how to port Paranoid Android 3.xx to different devices.
It works 99% for Endeavoru. The last 1% takes some effort to get right.
For me, not knowing what I am doing, it took a lot of trial and error, but eventually, - I made it and might as well pass it on here.
I'm in debt to all the people helping out in that thread. Huge thanks!
To get started, just follow a few simple steps:
You need a linux setup.
Install as your main system or run it in windows with VirtualBox.
Most guides are expecting Ubuntu. I use Mint Debian 64, which is just perfect for this job (and everything else ).
For VirtualBox you need at least a 50GB virtual-drive. Add 16GB if you will use ccache. I have build PA with a 52GB VBox in Win7.
It was just enough to compile, but had no room for ccache!
Compile time (VBox) on EliteBook 8540w (i7) was 120min. Not too bad, considering my old DeskTop need close to 4 hours on pure Linux.
Expect to download 8GB of source. Add 18GB for building to the "out" folder.
Enough statistics now, let's get started.
Follow gokussjx guide to setup linux for PA compiling.
Follow only these steps:
# Install OpenSSL, for Python
# Install Dependencies
# Configure USB
# JAVA JDK Installation
# Python Installation (just pick option 1)
# Android SDK
Click to expand...
Click to collapse
Exit gokussjx guide and continue here:
Download your favorite arm toolchain:
I found mine here.
Just extract the archive to any folder with user access, later you will point the build system to the /bin folder of the toolchain.
Install CCACHE:
Code:
$ sudo apt-get install ccache
Activate it in .bashrc:
Code:
# use ccache
export USE_CCACHE=1
You can change max-cache size, 16G should be enough for this build.
From terminal:
Code:
$ ccache -M 16G
Install Repo:
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Download the build manifest:
Code:
$ mkdir -p padroid/system
$ cd padroid/system
$ repo init -u git://github.com/teemodk/manifest.git -b padroid
Get the source!
Code:
$ repo sync -j16
Find this section in "build/envsetup.sh" update with your favorite arm toolchain:
Code:
case $ARCH in
x86) toolchaindir=x86/i686-linux-android-$targetgccversion/bin
;;
arm) toolchaindir=[B]~/toolchain/linaro4.8/bin[/B]
;;
mips) toolchaindir=mips/mipsel-linux-android-$targetgccversion/bin
;;
Go!
Code:
$ ./rom-build.sh endeavoru
Thats all. If it went well, get your new ROM in "out/target/product/endeavoru"
Don't forget the gApps.
Credits go to
PA:molesarecoming, D4rKn3sSyS for the awesome hybrid magic. All PA contributors. gokussjx for the mother of all PA guides. All the helpful people here, that use their time to help.
CM(aosp):thöemy,gorbi16,tbalden,(pabx) and all the unknown soldiers contributing to CM
Everyone I forgot.
Differencies from the official guide.
The official PA manifest is put together in a way, so you can easily build and maintain multiple devices with only one manifest.
It works by adding and removing device specific code with local manifests under the "vendor/pa" folder.
However, I am only compiling for OneX, so I found it easier to add/remove stuff directly in the main manifest.
The downside to this is, that you have to manually maintain the manifest everytime you want to sync with PA. Place for improvement
All changes in STEP 2 of the official guide, is already done if using my guide with padroid manifest.
In vendor/pa these steps are done:
Code:
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/manifests/endeavoru.adds"]/manifest/<device>.adds[][/URL]
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/manifests/endeavoru.removes"]/manifest/<device>.removes[/URL]
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/prebuilt/pa_endeavoru.conf"]/prebuilt/pa_<device>.conf[/URL]
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/products/pa_endeavoru.mk"]/products/pa_<device>.mk[/URL]
* Add device makefile entry to [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/products/AndroidProducts.mk"]/products/AndroidProducts.mk[/URL]
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/tree/padroid/vendorprops"]/vendorprops/<device>.proprietaries[/URL]
* Add device lunch menu entry to [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/vendorsetup.sh"]/vendorsetup.sh[/URL]
Furthermore, I temporarily moved the CM adds/removes from "vendor/pa/manifests" to .repo/manifest.xml.
I am sure there are better ways to handle git/repo/manifest etc., but this works well for me for now. Open for suggestions though.
Problem Solving
If (when) you run into problems, go to the official guide and find the answer. Most, if not all, errors is already answered there. If not, ask.
But first make a serious effort to find the error yourself. Read some good advice about finding the error.
As a rule of thumb: The build system tells you where to find the error! Something is missing, something is duplicated or somthing is just wrong. It's all in the log, running up your screen when compiling.
Build 25.Oct.2013
http://d-h.st/XRt
Nice, I'm always eager to learn this stuff .
Thanks!
ROM uploaded to post 3.
teemo said:
ROM uploaded to post 3.
Click to expand...
Click to collapse
Thank you so much Teemo, for providing the guide and the rom.
Just a Q: is this stock ParanoidAndroid rom (stock kernel?) ?
Thanks again for your work :good:
Mat08.cc said:
Thank you so much Teemo, for providing the guide and the rom.
Just a Q: is this stock ParanoidAndroid rom (stock kernel?) ?
Thanks again for your work :good:
Click to expand...
Click to collapse
The ROM is as close to stock as it get for OneX. It is really a mix of CyanogenMod and ParanoidAndroid. I follow the official build guide from PA-team.
The kernel is from same source as CM.
You can see everything in the manifest.
@teemo
your build is running fast and stable, congratulations! maybe you can keep updating this .. I appreciate it and I'm sure many other people would be of the same opinion
Sry,wrong threat....
Gesendet von meinem EndeavorU mit Tapatalk
Hi @teemo I was trying to build my own rom using a different source.
I'm pretty sure I've done things right except that when i start my build it ends up after few seconds saying: "Kernel source found, but no configuration was defined. Please add the TARGET_KERNEL_CONFIG variable to your BoardConfig.mk file"
I checked my BoardConfig.mk file and what I've got is TARGET_KERNEL_CONFIG := cyanogenmod_endeavoru_defconfig
I thought you may know how to help me with this!
Other infos: I'm tryn to build paranoidandroid 4.0 and i'm using cyanogenmod files for the endeavoru since i know aospa is cyanogenmod based right?
Hope you can help me :fingers-crossed:
Mat08.cc said:
Hi @teemo I was trying to build my own rom using a different source.
I'm pretty sure I've done things right except that when i start my build it ends up after few seconds saying: "Kernel source found, but no configuration was defined. Please add the TARGET_KERNEL_CONFIG variable to your BoardConfig.mk file"
I checked my BoardConfig.mk file and what I've got is TARGET_KERNEL_CONFIG := cyanogenmod_endeavoru_defconfig
I thought you may know how to help me with this!
Other infos: I'm tryn to build paranoidandroid 4.0 and i'm using cyanogenmod files for the endeavoru since i know aospa is cyanogenmod based right?
Hope you can help me :fingers-crossed:
Click to expand...
Click to collapse
Hi, I don't know what it takes to build ParanoidAndroid 4
But maybe you can ask in the Paranoid guide.
Or you can ask here for all other builds.
EDIT: Btw, to build PA4 or any other KitKat, you need the new sources for OneX (device+vendor+kernel). This guide will not work for KitKat.
teemo said:
Hi, I don't know what it takes to build ParanoidAndroid 4
But maybe you can ask in the Paranoid guide.
Or you can ask here for all other builds.
EDIT: Btw, to build PA4 or any other KitKat, you need the new sources for OneX (device+vendor+kernel). This guide will not work for KitKat.
Click to expand...
Click to collapse
I used the new sources but that was the result! I'll start from zero again to see if I missed something Thanks for the reply always really kind!
Mat08.cc said:
I used the new sources but that was the result! I'll start from zero again to see if I missed something Thanks for the reply always really kind!
Click to expand...
Click to collapse
the aospa dev build the aospa kitkat version...so a few days waiting and it will be there
One-X-master said:
the aospa dev build the aospa kitkat version...so a few days waiting and it will be there
Click to expand...
Click to collapse
Yeah I thought so! But I would love to learn! I have always looked to devs as to extraordinary people, understanding what makes them such would be great
Hey @teemo , sorry to bother you, but could you make an update build of PA? I don't have a stable connection, can't make a build of the new PA.. :/
Thanks man, take care
LuisDias said:
Hey @teemo , sorry to bother you, but could you make an update build of PA? I don't have a stable connection, can't make a build of the new PA.. :/
Thanks man, take care
Click to expand...
Click to collapse
All credits to @audahadi https://drive.google.com/folderview?id=0B-KjFDQ914F4dVdQLU9nT3VkMGc&usp=sharing
bosas200 said:
All credits to @audahadi https://drive.google.com/folderview?id=0B-KjFDQ914F4dVdQLU9nT3VkMGc&usp=sharing
Click to expand...
Click to collapse
Thanks brotha
teemo said:
Build 25.Oct.2013
http://d-h.st/XRt
Click to expand...
Click to collapse
Any chance helping me build AOSB with newer cm 11 base?
As no instructions anywhere on building AOSB from source. Source is
https://github.com/AOSB?page=1
Many thanks