Toolchain/Complilation - Nexus One General

A quick question:
If I have source code is it just a case of getting the android toolchain and then compiling against that and then installing (thinking ./configure, make, install)?
Thx
///C

Read this: http://android-tricks.blogspot.com/2009/02/hello-world-c-program-on-using-android.html
Probably best for you to use agcc, which is linked in the post.

thanks for the rsponse

Related

Cross-compiling, what am i doing wrong

Hello!
as the title indicates I am having trouble cross-compiling. hello world compiles perfectly but bigger programs just wont give in..
I downloaded the android source from git and compiled just the way the website (http://source.android.com/download) says you should (is there anyway to verify that its compiled correctly?)
Then I use the agcc python script(http://plausible.org/andy/agcc) for the linking but when i compile i always get trouble about it not being able to find certain defined fields or other types. So basicly i followed the second part of what this wiki says (eventough using a toolchain from codesourcery for example and cc staticly. It also fails...)
What im really asking is how and what do you guys use to cross-compile to android?
Richard_Xeli said:
Hello!
as the title indicates I am having trouble cross-compiling. hello world compiles perfectly but bigger programs just wont give in..
I downloaded the android source from git and compiled just the way the website (http://source.android.com/download) says you should (is there anyway to verify that its compiled correctly?)
Then I use the agcc python script(http://plausible.org/andy/agcc) for the linking but when i compile i always get trouble about it not being able to find certain defined fields or other types. So basicly i followed the second part of what this wiki says (eventough using a toolchain from codesourcery for example and cc staticly. It also fails...)
What im really asking is how and what do you guys use to cross-compile to android?
Click to expand...
Click to collapse
Hello,
i am having problems with the linker too! i am using the NDK (because it actually does C / C++ code) and the code compiles with very few warnings on some instructions but works well otherwise, it just WOULD NOT LINK the stuff together!! one interesting setting i noticed in some public makefiles for the NDK i noticed is that they actually set the linker to /system/bin/linker, which is obviously a file on the target device. but i don't know how it would access it? any ideas?
BTW: post your error(s) please
Try this
The system won't let me post a link (as a new user), however there is a really good tutorial on native android development and debugging using the AOSP build system. Search on Aton International Incorporated and click on blogs in the menubar. I am in no way associated with the company, just happy to finally be able to cross-compile, link and debug for android.
Maybe someone who has more posts could post a link here.
http://www.aton.com/android-native-development-using-the-android-open-source-project/

Making ROMs

So this is combination question/idea.
I have been reading around and it seems to me that most ROMs are made mostly just by taking existing ROMs (often taking the stock one) and editing the installed applications. This is what Kitchens do - right?
When we want to theme things we have to go through and manually edit all sorts of images, resources, compiled xml files, etc.
That all being said why don't people ever just take the source from google (android is open source) and just modify the source to their liking and compile their own ROM? Do people already do this? Wouldn't this making theming a lot easier by just replacing the files before it is all compiled together?
Why don't we just compile a version that lets you theme most things pretty easily - make large parts of the UI skinnable and then people don't have to spend so much time hacking xml files?
Again, this all may be completely wrong and I apologize for wasting your time for reading this if it is...
Just wondering if there is an easier way to do what we are doing
you should do some research on the Cyanogen mod and Android open source project (AOSP)
you're on the right track with where you're going with this, but it's already been done. most ROMs ARE in fact modified versions of 2.1 with edited image files, added applications and such and that's really all we can do, until now at least. some of our devs are working on porting ROMs based off of the Cyanogen mod, which is based off of AOSP.
someone please correct me if I'M wrong =)
I've found the following links to be really helpful:
1) http://forum.xda-developers.com/showthread.php?t=622916 - compiling Hero kernel & AOSP from source
2) http://blog.coralic.nl/2010/01/28/build-eclair-aka-android-2-1-for-hero-from-source/ - blog entry that #1 was based off of
3) http://forum.androidcentral.com/htc...how-build-your-own-kernel-package-source.html - sort of the same thing again, but it's good to read different takes on things like this
4) http://forum.xda-developers.com/showthread.php?t=633246 - very good kitchen
gnarlyc
I could be wrong, but the Google source code will be rather "generic" or all-encompassing. It will (or should) work for ALL Android hardware devices. Problem with that is that it's not optimized for a specific piece of hardware. Same logic applies with compiling your own kernel in Linux. Linux includes hardware support for thousands and thousands of pieces of hardware (and some obscure sh*t at that). Granted, it's not loaded into memory but the code is still in there. When people compile there own kernel, they only include drivers for their video card, their IDE/SATA controllers, their CPU, and so on.
When people start with an ERIS ROM or HERO ROM from HTC, I have to presume that HTC has already stripped out the non-applicable stuff. It's a much cleaner slate to start from.
gnarlyc said:
I've found the following links to be really helpful:
1) http://forum.xda-developers.com/showthread.php?t=622916 - compiling Hero kernel & AOSP from source
2) http://blog.coralic.nl/2010/01/28/build-eclair-aka-android-2-1-for-hero-from-source/ - blog entry that #1 was based off of
3) http://forum.androidcentral.com/htc...how-build-your-own-kernel-package-source.html - sort of the same thing again, but it's good to read different takes on things like this
4) http://forum.xda-developers.com/showthread.php?t=633246 - very good kitchen
gnarlyc
Click to expand...
Click to collapse
Funny you mention that, I just installed an Ubuntu VM so that I could check out the source and start playing around... see what there is to see

[Q]andriod kernel of mega is same like wildfire by proof!!!

http://htc-linux.org/wiki/index.php?title=Mega
i read that the kernel is same wont that help porting andriod with respect to some drivers change!!!
no one answered
the problem is our first developer can't keep the android project...
hi
how can i debug this files and run???
currently I'm trying to cross-compile a most recent wildfire kernel I found on htc server using a configuration I personally made for our mega. The problem is there are many errors in the source code...
re.:
In my opinion we start build android from beginning. My problem is in my OS on my PC. I have Windows XP and building and modifing found only on Linux. I find this page with porting guide. It is step by step How to create boot screen, How to setup Connectivity...
source.android.com/porting/bring_up.html
On this page are programs for debug and download android source code...
Anyone write.
Move to general as not rom development
I'm using linux, this is why I want to try to cross-compile a kernel for our device, like I just said, source code has a large number of errors, I don't know why...
if you are interested, I can share the kernel configuration I made myself...
Now I install Ubuntu 10. It was compilation found in this version of Linux??? Where programs can I download? Now I have Git, Eclipse and Python 2.7. How can I install .tar packs on Ubuntu zito882000?
if you are new as a linux user it's quite difficult to explain, you need gcc plus the same programs a normal user has to compile a kernel.
The difference is in the way of compilation, a parameter that does a compilation for arm architectures....do you have some kernel compilation experience?
re.:
zito882000 said:
if you are new as a linux user it's quite difficult to explain, you need gcc plus the same programs a normal user has to compile a kernel.
The difference is in the way of compilation, a parameter that does a compilation for arm architectures....do you have some kernel compilation experience?
Click to expand...
Click to collapse
windows is gold.
with compilation i haven't any experience. I only begin in programming languages C, C++ and VB. I compile only my apps in visual studio. And i have nice experience with photoshop.
it isn't exactly the same thing, in a kernel you have a large number of drivers to compile, not a only one program...
Here cyberciti.biz/tips/compiling-linux-kernel-26.html you can find a simple guide!
The most important part is the command "make" that need some different parameters to do a cross-compilation for ARM processors ^^
thx
I saw the instructions and understand him. If I somehow help you write to my icq: 484038954 or Skype: vasek-smekal.
So far, thanks
I just bought an HTC Hero with native android.
If you want to try again I share with you my kernel configuration file and a link where you can download the kernel source I used.
(remember to rename "config.txt" in ".config" with the point and without the extension)
KERNEL SOURCE -> http://developer.htc.com/ (must choose "HTC Wildfire - Froyo - 2.6.32 kernel source code")
ARM LINUX GCC -> http://www.handhelds.org/download/projects/toolchain/archive/arm-linux-gcc-3.3.1-030820.tar.bz2

[Q] How to develop ROM?

Hi,
I want to know how can I make my own ROM using paul's ICS sources or build it from the CM9 sources, which software I need to use and is this tut good for beginning?
www(.)theunlockr(.)com/2010/03/26/how-to-create-your-own-custom-rom-for-android-part-1-setting-up-the-kitchen/?
PS: I also want to add the reason why I don't contact with paul is that I wanted to learn & develop it only for me & mine friends
Ofc. for X8 and on nAa kernel ;3
do you know JAVA atleast?
EDIT: wait, you want only to make the build, or to work on the rom and on the source?
EDIT2: Wrong section btw, you should asked on Q&A's
Java on basic level, I do not know any of it's APIs but I can learn them ( I don't know Android API too )
C/C++ on intermediate level
First build it from source, after successful modify source and compile ROM.
MOD: Please move to Q&A if possible, thanks.
You could read my thread (look at my signature). I wrote all the stuff you need to know of ROM-compiling. There's also a thread about kernel making.
eagleeyetom said:
You could read my thread (look at my signature). I wrote all the stuff you need to know of ROM-compiling. There's also a thread about kernel making.
Click to expand...
Click to collapse
Dzięki
Thanks at all, you got the point. I'll try to compile it using yours tut and post result here And one more thing, developing CM9 for X8 build for which phone i need to base on? And where I can get hmmm... X8 Driver sources? Adreno libs and others?
Right now we don't have sources for X8. You need to port most of libs. You could also paul-xxx's drivers from his github. Good luck If you have some questions PM me, I'll help if I'll be able to.
NeveHanter said:
And one more thing, developing CM9 for X8 build for which phone i need to base on?
Click to expand...
Click to collapse
doixanh based his GingerDX ROM - based on Gingerbread - on the Hero source tree. If I recall correctly I read somewhere that a CM9 port to the HTC Hero exists; that might be your best shot as the phone is about the same specs as the X8.
And as eagleeyetom wrote: You either use paul-xxx's drivers or you reverse engineer the Eclair drivers and write them anew from scratch (if your thought was going into the direction of the kernel) - there's no CM9 port for the X8. Your best option would be to try and find devices having a matching hardware component and porting the drivers from there - but chances are pretty slim that other phones use the same hardware SEMC stuffed into the X8.
---------- Post added at 09:13 PM ---------- Previous post was at 09:03 PM ----------
Update: paul-xxx also maintains a GIT repo with a msm7227 kernel ...
paul-xxx / semc-kernel-msm7227-ics
EDIT: Along with some other interesting repos ...
- android_hardware_qcom_camera
- Xperia-TI-Wlan
- android_device_semc_msm7x27-common
These three at least seem to relate to the X8 "Shakira"
Thanks all for help, now I have some basic workaround with this
And one off topic question
ICS is running on 3.0.3 kernel, yes? So why we don't try to port it for X8 and using old 2.6.xx?
NeveHanter said:
And one off topic question
ICS is running on 3.0.3 kernel, yes? So why we don't try to port it for X8 and using old 2.6.xx?
Click to expand...
Click to collapse
It seems the genuine Google AOSP ICS is running Linux 3.0.8
Porting the Kernel might turn into a huge effort. The ABI of 2.6.29 and 3.0 are not really compatible, so the kernel drivers would need to be ported to the CM9 3.0.x series - in case a simple patching them into the kernel tree and trying to compile bombs out with tons of make errors.
Apart from that - the main problem with ICS on the X8 is that a whole lot of devices can't use a custom kernel as a change in the hardware (devices of 11W29 and newer) prevents boot loader unlock.
We could try to see if the CM9 kernel could be slapped into shape ... I got a Quad-Core Phenom II to tackle that task - if someone wants to help out in the research if some msm7227 / Shakira specific parts would need to be patched into the source tree because they aren't part of it.
EDIT: Even the official CM repo uses Linux 2.6.37.6 as their kernel, and the progress on the FXP Kernel seems to have come to a halt; at least I can't see any new stuff in the -shakira repos.
LG GT-540 has ICS on 2.6.35 kernel. Maybe we could try to port Arc's kernel. Maybe this one? Recommend me some C/C++ books to learn basic stuff
You want this book's in english or you prefer in our native? ;3
eagleeyetom said:
Recommend me some C/C++ books to learn basic stuff
Click to expand...
Click to collapse
This is a rather tricky question ...
If you do as I did simply Google up a C/C++ Reference/Tutorial (i.e. http://www.acm.uiuc.edu/webmonkeys/book/c_guide/ or http://www.cplusplus.com/doc/tutorial/) and get going ... you already got gedit to code up .c files, and gcc is also part of your Linux distro to try and compile your "hello_world.c" You could also Google for Online Classes (in the like of http://www2.its.strath.ac.uk/courses/c/) and pick whatever suits you.
However, if you want to read real books ... look through the offers of Addison Wesley and pick what you think is the best book for you. You could also hit up your closest public library and see what they have in store (may be cheaper than buying in case you don't have much money to spend) - or, in case you study, you may want to look into your University's library.
Of course you could also start off with the usual "C/C++ for Dummies" or "Teach yourself <whatever> in 7|14|21|30 days"
Polish would be awesome ;P
Best, simply writed polish C/C++ tutorial, one of the best www(.)warsztat(.)gd/tutorials.php?x=category&id=18
In adddition you can search for ( it's a big ebook ) Symfonia C++ Grębosza ( Symphony in C++ ), you can find it on chomikuj.pl but if U want I can upload it somewhere for you
And if you will have any problems with C/C++ you can write to my GG number 10037533 or PM me here

[Q]Which linux OS the the best to create custom roms for our phone ?

Hey everyone, everything is in the title. I recently installed Ubuntu 14.04 via VirtualBox, and now i would like to start create some roms, after a long time spent in front of the developement section. Today i would like to see my name in this section, so i need advices about which linux should i get ( if Ubuntu is not the right distribution ) and the tools you use in Linux to make wonderful roms !
Thanks everyone
I see Biel and savie using Ubuntu, so why not?
OxygeenHD said:
Hey everyone, everything is in the title. I recently installed Ubuntu 14.04 via VirtualBox, and now i would like to start create some roms, after a long time spent in front of the developement section. Today i would like to see my name in this section, so i need advices about which linux should i get ( if Ubuntu is not the right distribution ) and the tools you use in Linux to make wonderful roms !
Thanks everyone
Click to expand...
Click to collapse
Ubuntu/Linux dist is required to build a project from a source code, and it requires a pro to build and debug a project/ROM frm source! To make a simple/normal custom, you may even use Kitchen(in Cygwin for Windows) or even in Linux!
For ur question, Ubuntu is better choice!
Ubuntu is not a must,but its easy because it have the most tools preinstalled for this.
GREEETZ FROM TEAM-OPTIMA!!!
@lionelsuyog for now, i simply want to build a custom rom basedon stock or CM. not a complete project from souce ( not enough experience ) 
 @-CALIBAN666- Do you have some tuts in mind to help me to start training ?
Thanks
OxygeenHD said:
@lionelsuyog for now, i simply want to build a custom rom basedon stock or CM. not a complete project from souce ( not enough experience )
@-CALIBAN666- Do you have some tuts in mind to help me to start training ?
Thanks
Click to expand...
Click to collapse
if you are not building from source all you need is
apktool
java jdk
android kitchen
cygwin (if using windows)
notepad++
winrar
There are many guides - best you do some searching for example
http://forum.xda-developers.com/showthread.php?t=1801690
Well theming a custom ROM takes a lot of time and for completing the work on time you obviously gonna need some niggas to help you in your work.Well if you have a good internet connection then you can sync up sources and compile ROMs like Carbon,Pac or AOKP Kitkat for this device since we're getting closer to a stable CM11.There are a lot of guides on how to sync a ROM source code on the computer.Search down the threads and start syncing.

Categories

Resources