[Q] OK, So I want to build my own Android ROMs - HD2 Android Q&A, Help & Troubleshooting and Genera

I know how to do the WM stuff - and have some old kitchens. I used to be fairly involved in doing my own back in the Kaiser days, but never did publish them (there were always questions about whether it was REALLY kosher to do so)
Well, Android is Open Source (mostly) and so I'd like to get involved with it for the HD2. I'll publish here and maintain as well - if I come up with something useful.
Does anyone have a framework to start with on getting started? Is it best done from Windows (Win7 here) or do I need to build up a Linux box for this?
If it's already here (I looked around) please point me to it... or any online resource for that matter.
Mostly interested in cooking up NAND stuff....
(I build and write software - including kernel code in the FreeBSD realm, so I'm familiar with the "hows" - just need the correct pointers to the tools and bits I need along with a primer; I can take it from there.)
Thanks in advance!

I'm interested in the same kind of info, but it seems it's a secret kept somewhat close to the chest, and although there are tutorials aplenty for the end user, there is a clear lack of tuturials on how to make your own ROMs (be it WinMo, or Android). Either "chefs" don't want any more clutter and garbage around, or they don't think there is interest on such info...
Anyway, here is an article to get you started (little meat in the info, but dig around the wiki):
http://www.htc-linux.org/wiki/index.php?title=QuickDeveloperStartGuide

u Guy's even have take look to chef corner in this site

Related

New HD2, where do I start?

Hi guys, I'm new to this forum and it's a pleasure to be a new member! As a brief introduction, I'm completely new to HTC, Windows Mobile and any non-Symbian device! I've used Nokia's, Sony Ericssons & Motorola's all my life and Symbian is all I know, I think you get the picture......
Anyhow, I should be getting my HD2 within the next few days because I fell in love with it as soon as I saw it and I just want to know where to start?! This looks like the most comprehensive forum I've seen on the net and I couldn't think of a better place to start learning. I know it's a bit of a broad question and I have had a look through a number of posts to get my bearings, as such. I've seen posts about Roms, registry modifications, patches...... and it all sounds very interesting and I want to know all the functions and information I can about my new device.
Coming from the Symbian background, everything is pretty straightforward but Windows Mobile sounds a lot more technical and something I'm looking forward to learning about. Any information or tips about what I should & shouldn't do to help improve performance/tweak the device would be much appreciated and I'm a fast learner. PS I've seen this post:
http://forum.xda-developers.com/showthread.php?t=583638
and will work my way through it when I get the device, but it seems to be aimed at people with some previous experience with this platform. I'm sure you guys see these tpye of 'Help Me!' posts all the time but thanks in advance.
Hello Gargon, welcome aboard!
I too am new to these forums and I've spent a not-insignificant amount of time browsing threads on the HD2 since I made the decision to finally ditch the venerable nokia 6030 that has served me so well all these years. Being a self-confessed techie the HD2 appealed to me the very instant I first caught a glimpse of it in all its Kubrick monolithic glory and as soon as O2 release info on their tariffs I will be seriously weighing up my options.
Now, let's get down to the nitty gritty. As a disclaimer I've only been here a short while so I wouldn't be surprised if I get a few facts wrong. Hopefully someone will correct me if I do!
The HD2 is powered by Windows Mobile 6.5 edition and as you might imagine it's not too dissimilar in how it operates to the PC desktop version. You have a desktop, start menu, program files etc. with all the various settings held by the registry. The beauty of WinMo is that it is far more customisable than the iPhone OS/Symbian in that you can change pretty much everything you see and also how you interact with the device. For example, a developer on these boards has released an application which enables the vibration feature on almost every keypress whereas the default HD2 only goes so far. Another dev has released an app which changes HTC's desktop from a 3x3 grid of shortcuts to 4x4. You can even do away with HTC's superb frontend entirely and install something like SPB Mobile Shell which has a snazzy rotating cube effect desktop and many other alternative enhancements (although you will have to pay for this). And this is only the tip of the iceberg! There are thousands of applications and games out there on the internet, and with Microsoft finally getting into the appstore gig we can expect a well-stocked central repository for software sometime in the near future. Failing that, google is our friend
With the help of the talented and selfless developers here at xda-dev almost anything is possible, including the potential for changing the operating system entirely, so you can't rule out the HD2 one day running Android or WM7 somewhere down the line, however this depends on one crucial bit of software -- the Hard SPL. Without this essential bit of kit, peons such as myself are unable to reflash the device to a different operating system or even a different version of the current OS (e.g. a lite version to save valuable ROM space, or an enhanced version with greater functionality). Everything hinges on this being developed by the code masters behind the scenes however such projects require a lot of skill, time and effort and such is the support of the community here that monetary donations are pledged in gratitude for past endeavours and in the hope of new enterprise.
As for installing applications themselves, I haven't yet delved deep enough to give you a comprehensive answer, however I suspect that there are FAQs on the parent forums which will give you all the information you need. From what I can tell, applications are released in .cab format which are executed from the phone and self-install. I can't wait until I can get my grubby paws on this masterpiece and get busy pushing buttons! I'm sure I've missed a whole lot of information but my lids are getting heavy and my battery needs charging. I hope this wasn't too patronising for you and I'm sure some other people here will gladly fill you in on anything I've missed.
Welcome aboard, great first posting. Showing the threads you read already makes many people want to help you more.
If you come from Symbian, some stuff will be the same, i.e. you use icons for programs.
What differs the most is the customization possibilities and the level of deep control you have over the behaviour of your new machine.
Get to grips with Microsoft Mobile Device Center, (syncing your data).
Do you have an Exchange account or Gmail ? You can setup your device to have pushmail connectivity with GMail or Exchange.
If you don't own an Exchange Server, you can setup your own free
Custom Domain at http://domains.live.com and have your own email adress as a LIVE-ID and have pushmail with it (free).
Then, I would dig in to the many cool free applications around.
Yes, hunt for .cab files as they will install over the air (OTA) and from your device.
Another tip: When you get your device, start at the first Icon, view it, try and dig deeper in the menu's, always. Press and hold the screen/text to see if there are context menu's.
Then work your way through all the settings and icons available. It will take you about 3 days to see all the menu's and options, although the first 80% you will discover the first day
Hope you will enjoy the transition.
Hey guys
First off, this a awesome site with heaps of help. And advice which is great
Secondly I amnew here too and hopefully getting my hd2 soon. Can't wait!!
Thanks a lot for the replies guys, very informative H2D2 and thanks for the tips lucid. It's good to know that there are other people in a similar situation to myself! If anyone can post any relevant links to any apps or roms/cab files that might be useful for a first-timer then it would be much appreciated. In the meantime, I'll keep doing the research and, if I find anything myself, I'll post it here. Thanks again.
Well I'm new as well so hi everyone!
I used to have a wm phone but that was a few years ago and things have changed a lot since then... so have a bit of catching up to do. Been browsing on here the last few days and ordered the HD2 this morning.
Gargon, I'm sure you'll get used to it all in no time, I know it all looks confusing at first but really it's not that bad and I'm sure the nice people on here will help if you're stuck.
Greetings our new community members
I was in the same situation as You guys half year ago when I purchased my first WM device, the Diamond2. And now Im awaiting my HD2 already ordered
As for the Windows Mobile platform, it is the most powerful, sophisticated and versatile mobile platform ever made, and that's why it has always attracted more advanced users. But on the other hand, it is in many ways very similar to Windowses on your PCs At first you may feel a little overwhelmed of all the functions, tips, tricks, registry hacks and so on. But what's great about Windows Mobile platform, is that once you start to "feel" it, then playing around with your phone becomes extremely addictive. I remember my first week with the Diamond2, it was nothing else than playing with it, installing and testing every trick i could possibly find
Moving on to the relevant stuff:
First of all, you should equip your device with a decent file explorer, as the native WM one is a bit clunky. I recommend Resco File Explorer. Second, equip yourself with a registry editor, as you gonna need it for tweaks. Resco Explorer has a plugin for registry editing and there are even desktop PC editors which you can use when device is connected to the PC.
As for application installation, it can be performed in 2 ways:
1).cab files. These are like .sis in Symbian. You run them directly from the device just by executing them from any file manager.
2).exe files. Those can be installed from your PC when the device is connected to it. Sometimes developers make small apps for phones which are in form of exe files which are designed to run directly from the device. This is possible because every app after installation usually has its folder in Program Files where an exe file of the app itsself is stored (exactly the same as on Your PC Windows)
Moving on to the interface. One of the biggest advantages of Windows Mobile is that it enables you to change practically the whole interface with minimum effort. The native WM interface is unfortunately very old and not finger friendly, and thats why every major company designed their own interfaces. On the HD2 it is called Sense. In fact Sense is only a further developement of an interface which was called TouchFlo 3D. And one thing more you should know. Developers on this forum use the code name of this interface, which is Manila. HD2 has the latest Manila v2.5. So basically Manila=TouchFlo=Sense.
Feel free to ask any questions, everyone of us was a newbie at first I personally am very happy to see new people being attracted by new fantastic WM devices. I myself was a Nokia/Symbian fan for many years, untill half a year ago I discovered that I was living in the darkness all these years
The XDA-Developers is one of the greatest, biggest and oldest communities on the whole internet. This makes this community concrete, mature and serious. This means that members are very helpful to each other and they always communicate with a certain level of etiquette, so You surely won't hear any offensive words, swears or any vulgarisms
So enjoy your new devices and this community, as it will bring you many happy moments, i guarantee this to You
the wiki is a great tool (not much on the HD2 in there yet) but background reading on other devices is good.
As long as you're willing to take time to learn to use the search (often searching around the term you're looking for) then you'll solve issues you may have quickly as well..
several of us are happy to discuss stuff on PM as well..
and don't forget if you find something that you think others would find useful,
The WIKI is always there, to be edited at your leisure
Welcome
Very nice attitude from Gargon01 and H2D2.
You are on the right track about the winmo os.
In itself it is clunky on the surface but the structure sits on the registry database which is accessible through a registry editor.
This forum is quite unique and must be the largest of It's kind, that is, a community of smartphone developers/hackers.
I have been dropping in for 4 years but only started flashing recently after buying an HD.
The HD came with an earlier development of Touchflo and I saw rom versions on Youtube etc of more advanced versions from XDA Devs.
I took the plunge in flashing roms and have been addicted ever since.
I am running the latest version of sense on my HD but am awaiting an HD2 from clove tech on the uk for which sense was made.
There are many brilliant people in this community who generously offer their creativity, time and energy.
You are in the right place. More will be revealed.
Thanks a lot for the responses guys, exactly what me and I'm sure a lot of other new users are looking for! I'll look for the Resco File Viewer jgal, there was a similar app called Modo on Symbian that was also used for deep-file exploration/modification purposes.
Also, it's good to know that there are a lot of similarities to the desktop version of Windows. I'd like to think that I'm pretty proficient with that so I'll look forward to taking that knowledge and applying it to the HD2.
A big thanks to all the other users who have contributed to the post as well! I was pretty sure that my thread would fade away into non-existence but it's good to know that people seem genuinely interested in offering help and advice.
I should hopefully be getting the handset on Monday so I'll give it a good examination and keep you all posted should I run into any problems. Keep the tips/links coming though, my brain is like a sponge!! Cheers.

So many question, so little time.

Hello all,
I am new to the Android scene and I wanted to find out if there are any good tutorials on app/rom development, what are the programming languages used, etc... I know learning from scratch is probably a long and bumpy road, but it is something I am interested in. I have already rooted and flashed my phone, good times that was. Thank you all for your help.
Th3Cap3
What's your existing programming experience? You could do worse than check out the anddev forums. App development is principally in Java though you can write parts of apps in C or even assembler.
My existing programming consist of very very very basic python, and some web stuff like HTML and CSS, I would basically have to learn how to program the ones you have mentioned from scratch, I have books for most of those though. I will go check out those forums and see what I can dig up Thanks for the info.
I bookmarked that page thank you, I just got a hold of their Eclipse software and all of their beginner tutorials I can't wait to dive into this stuff.
Me too. I know C, but only have a passing acquaintance with Java & Linux; Android I know even less about, not having encountered it till getting my Hero in February. I'm working my way through Thinking in Java (Eckel) to be followed by Professional Android 2 Application Development (Meier).
Even if your grasp of Python is basic it's still a start - you don't have to struggle again with fundamental procedural programming concepts like conditional execution, program flow control & so forth. Plus Python is an OOP language, aiui (I don't know Python) so you have a head start there too
I've installed Java, Eclipse & Android's SDK on this Windows box, but I'm thinking of dual booting Ubuntu as some things just work better in Linux, especially if one wants to cross compile ROMs. Aiui Cygwin, which I already use, can be a little problematic & when one is likely to be asking for help at times, it's useful to be using a similar set up to most devs.
I have been thinking about dual booting again, I just havent had to time to partition my drive and install some sort of linux release, UBuntu is the one I am most familiar with, which isnt very, but its a start.
I am going through those video tutorials from anddev.org right now, it seems to be similar to Python in the way the coding is done, I am excited.
I have also downloaded the Eclipse program, but I have the pulsar version, it seems to be geared more towards mobile development and I have gotten the Android toolkit installed and I have had the Android SDK from when I rooted my Hero (Which is awesome, running the newest Damage Control) good times.
I think I may have a java book on PDF somewhere as well, I will have to go look.
Atm I can't make up my mind between dual boot & Virtual Box, or maybe both, to see if I can wean myself off m$
I have been thinking about the dual boot option a lot since you mentioned it, not sure what to do, I may wait till this quarters class is over so that if something goes missing. it Sony be a big deal
Sent from my HERO200 using the XDA mobile application powered by Tapatalk

Financial Application Development

I have barely developed anything since the BASIC days on the C64 and Amiga, and now feel inspired to create some financial applications for the Australian market - such as superannuation projections.
How hard is it to develop? A few standard calculations like you would see on a spreadsheet would work, with some graphing.
Most financial applications I have found are pretty basic and don't account for inflation in rising wages and fees, etc.
I believe I could attract at least a dollar for a well developed application for superannuation alone.
I have installed the Android 2.2 SDK and have no idea where to start. I presume this is some sort of emulated Android device I can test my applications on.
Are there any tutorials on how to get started? What's the development language?
All I need to do is create a simple text interface to input a few parameters to run some complex financial calculations on the back end.
A really sophisticated application would pull live interest rates or other data and enter that in.
Start with this:
developer.android. com/resources/tutorials/ hello-world.html
(take away the spaces, I cant post links yet )
These are all great tutorials that will walk you through the basic processes and applications/layouts. The only issue you will have is when/if you decide to go through the "Tabs View" tutorial, there are a lot of errors in the code, and I have no idea why no one have changed it, but you can PM me for the correct version.
If you want some basics on Java, just do a google search, there are a lot of great tutorials out there for beginning Java. I recommend doing this first, just so you have a good understanding of Java(which is the development language), it will *REALLY* help out. You can incorporate other languages, but for the time being, stick with Java.
Yes, the SDK comes with an emulator so that you can test your programs without having to install them on a real device. In addition to what Jimmy said (and I can't stres highly enough that you should start with the Android Developer's website and tutorials), you can go to Stack Overflow which is a programming Q&A website. People there are generally very helpful, as long as you've shown you've actually put some effort into solving your problem before you posted your question.
Fair enough... So it's basically about learning to programme for Java? How hard would it be, realistically, for someone with no application development experience?
You need a basic grasp of objected oriented design & programming, along with an understanding of the Java language. When it comes to gui aspects & all communication with other apps/data on the device, you have Android, rather than the usual Java class libraries such as awt or swing.
How hard? It's doable, imo, but will depend on aptitude. Start with Java & then add in Android when you feel like more material to get your head around.
So basically getting started requires me to learn application development like on any other platform, in OO and Java. I may as well do a course or something then. Would a few weeks doing some sort of intro course help?
I'm sure an appropriate course could be very helpful. Though I'd steer clear of those short courses claiming to turn anyone into a valuable skilled programmer in only xx weeks, if only because the tutor will probably know less than you on the subject. Better one which makes credible claims regarding its introductory nature. A couple of degree level intro modules on OO or Java should be of help.

[Q] First app; Advice? Examples? Warnings?

Hey everyone; it wouldn't let me post in the development subforum due to the fact that I just joined, but I figured my topic would be just as relevant here.
I'm a sophomore CompSci major. Java is my strong point, but I'm far from a master. I know syntax, I know how to follow what's going on in more advanced programs, but writing them is the tough part. Anyway, I would like to create my first app; something simple. I was thinking a calculator with a small clipboard on the side (hold the button to store the number displayed in the window, hit it to place that value). It would be insanely helpful for my physics class.
So a few questions for you guys:
-Is there anything I should know beforehand? Anything to be careful of?
-Can I use Eclipse? I tried with App Inventor, and it's too limited.
-How do I obtain examples of more complex apps? Can I unpackage the apk files into java classes?
-Is there a site similar to the sun library, where it lists the available classes/objects/imports?
I'm sorry if I don't know the lingo just yet (of Droid or Java). Picking this all up is a little difficult for me, but I'm trying
Thank you in advance for even taking the time to read this. I understand rookies must aggravate you guys, but from what I've seen, the community has been nothing but welcoming!
You can definitely use Android SDK with Eclipse.
This guide will help you with install and set up process
http://developer.android.com/sdk/installing.html
SDK also contains sample projects that you can use for learning.
I don't remember about unpackaging apk files, but I'm pretty sure they contain already compiled .class files, which will be of no use to you.
And here's Android's reference page:
http://developer.android.com/reference/packages.html
Also the dev guide is very useful for learning the basics:
http://developer.android.com/guide/index.html
Resources section has useful tutorials as well!
Hope that helps. Good luck with your app!
Thank you, meshdub! And all branching from the same site; sure made me look bad...but on the upside, you've introduced me to a source I will be able to use throughout my software development lifetime.
If there's any more you or anyone else could give me as far as what to expect or look out for, please let me know! I'm honestly a little intimidated by this; I'm not too familiar with forums, and I've heard how difficult app developing can be.
But this should keep me occupied for a while, and again, thank you very much

nook touchndevelopmemt toolchain Qs

Hi All,
I'm a software developer, reasonably comfortable with compiling apps in Linux, though still got more to learn on inner workings of the full system.
I've been thinking about following the Linux from Scratch book for a while - and also about converting my Nook e-reader into a useful device for developing on when out im the sun.
I guess there are some significant challenges here - device trees and commercial secrets, perhaps some crypto keys used for signing update images to boot (I'm familiar with these problems, but not solutions or good workarounds).
What I'd really like is a good understanding of:
- what tool chain I need to setup
- What has been tried already and what the problems were
- any further help/datasheets that can get me going
I'd have posted this in the 'android development' area as the closest forum for what l'm trying to do, but apparently I'm not allowed until I've got my post count up - so I'm being forced to post in 'general'. If someone agrees and can move it, that would be great.
P.s. I have searched the xda site, but I'm not finding what I'm looking for. I'm sure it must be here somewhere, so any pointers/links on where it is would be appreciated.
SimonSimpson said:
Hi All,
I'm a software developer, reasonably comfortable with compiling apps in Linux, though still got more to learn on inner workings of the full system.
I've been thinking about following the Linux from Scratch book for a while - and also about converting my Nook e-reader into a useful device for developing on when out im the sun.
I guess there are some significant challenges here - device trees and commercial secrets, perhaps some crypto keys used for signing update images to boot (I'm familiar with these problems, but not solutions or good workarounds).
What I'd really like is a good understanding of:
- what tool chain I need to setup
- What has been tried already and what the problems were
- any further help/datasheets that can get me going
I'd have posted this in the 'android development' area as the closest forum for what l'm trying to do, but apparently I'm not allowed until I've got my post count up - so I'm being forced to post in 'general'. If someone agrees and can move it, that would be great.
P.s. I have searched the xda site, but I'm not finding what I'm looking for. I'm sure it must be here somewhere, so any pointers/links on where it is would be appreciated.
Click to expand...
Click to collapse
I have tried to get info on such things three times over 2 years for different devices, no one every seems to point me in the right direction, the most i have been able to find out is how to make compile cm and a little bit of how to customize roms, not to be a downer but i think the process is often so different for ever device and difficulties usually happen that the only people that build roms are people that have either have experience I n some form from their job, just edit existing source for cm(updating to a new version, customizing roms ect...) or have screwed with the stuff for years till the point that they just figured out alot of problems themselves. Wish a could find a good guide myself to atleast get the basic dependencies required for a device to boot together, if i could get something to boot the rest of the issues could be worked out with trial and error, boot noone on xda, Android authority, Reddit or cm's own forums goes into enough depth to make that possible.
Hi jaykoerner,
Thanks for your reply - good to know I'm not alone with my echo!
I've discovered some useful links if anyone wants to begin getting to grips with all this...
1. XDA Devs has a wiki (not sure how to find from the forum links...?)
http://forum.xda-developers.com/wiki/BN_Nook_Simple_Touch
2. There's a (atleast one) customized kernel (and probably a dev-tool chain) available on GitHub:
https://github.com/javifo/NST/tree/master/kernel -- including kernel compilation instructions
https://github.com/javifo/NST -- root of the repository.
3. Parallel to Raspberry Pi kernel compilation (so you may want to learn from that as it probably has more articles)
https://www.raspberrypi.org/documentation/linux/kernel/building.md
I'll post more when I next do something with the information (Still want to understand more on the android HAL)
Hope that helps someone!
SS.
SimonSimpson said:
Hi jaykoerner,
Thanks for your reply - good to know I'm not alone with my echo!
I've discovered some useful links if anyone wants to begin getting to grips with all this...
1. XDA Devs has a wiki (not sure how to find from the forum links...?)
http://forum.xda-developers.com/wiki/BN_Nook_Simple_Touch
2. There's a (atleast one) customized kernel (and probably a dev-tool chain) available on GitHub:
https://github.com/javifo/NST/tree/master/kernel -- including kernel compilation instructions
https://github.com/javifo/NST -- root of the repository.
3. Parallel to Raspberry Pi kernel compilation (so you may want to learn from that as it probably has more articles)
https://www.raspberrypi.org/documentation/linux/kernel/building.md
I'll post more when I next do something with the information (Still want to understand more on the android HAL)
Hope that helps someone!
SS.
Click to expand...
Click to collapse
My initial thought was that toolchain should match the underlay Linux kernel of Eclair (2.6.x.y) for us to be sure it could be run on NST. This info that I still have to search through is certainly helpful. Thanks!
SimonSimpson said:
I guess there are some significant challenges here - device trees and commercial secrets, perhaps some crypto keys used for signing update images to boot...
Click to expand...
Click to collapse
Neither the NST or the newer glows use device trees.
In the Glows this is all handled by the custom ntxconfig which allows simple configuration.
For building Android apps, you use the straight Android SDK, possibly also the Android NDK (for native code).
You'd also use the NDK for building command line utilities.
I've never built a kernel from scratch, but I have binary modified/patched them.
There is the simpler bit of patching system image ramdisks which can be conviently handled by my imgutil.exe in the signature.
If you want to do audio, you really are better off with the Glow4 (7.8") which actually supports it.

Categories

Resources