Developing low level - Nexus One General

Hello and happy new year,
i am thinking of buying the Nexus One. I am a programmer and i want to know if I can program at low level using the sdk. I mean interacting with the hardware etc...
Thank you

im not sure but im pretty sure if you want to do low level programming you'd need to look into the roms themselves however you can interact with some hardware via the sdk

im not sure what you mean. building regular apps to be used from market allow you to take full control of the hardware (except system files). Going lower than that you can develop apps for rooted phones (can take advantage of the android OS system files themselves), going even lower than that you can develop your own ROMs (your own custom version of the android OS), and going EVEN LOWER than that you can develop your own recovery images or even SPLs. At this level messing something up will brick your phone.
Android is all about developer freedom.

If i root the phone can I take control of system files?

ShadowReaperGR said:
If i root the phone can I take control of system files?
Click to expand...
Click to collapse
Yes you can.

Not sure about this but first the sdk came with the ability to program for the davlik framework/vm and later on they released an sdk with the posibilty towrite native apps(c/c++?). Someone more experienced should know better. I'm just saying what I remember reading a while back, never tested.

Try the NDK. might be what you are looking for.
http://developer.android.com/sdk/ndk/1.6_r1/index.html
but I think its just for 1.6 now. they have not bump that up to 2.1

Related

What should have been

Hello all
As a relatively new user of the G1 it raised some questions in my mind about its design.
The thing is that all the exciting things are there but some basic things are missing.
First did the designers intention was to enable only English speaking users to use it? Why there is no built in multi language support? Even if the user itself speak English but he is a Japanese and wants to comunicate with friends and relatives not speaking English - he can not.
Second - did the designers realy thought that 256MB of internal memory will not run out of space very quickly, when the whole idea of the phone with the Market is to download applications for it? Why not give the user to choose where to install the application at the installation time? It is like that on my Nokia E65.
What about all the trivial little things that I was so sure they are there, that I did not bother to ask about them, things like choosing where user data - like contacts etc - will be saved, copying the contacts and other user data to the SD card weather or from the SD card to backup or restore them. Again my Nokia has it and it is basic function on any Hand Held device.
When you mount the phone on a PC what do they have to hide when showing only the SD card content?
What is the result - talented people here and else where like JF are trying to Hack/Fix/Go around all these flaws in the design - and realy doing a great job - instead of focusing on developing new and exciting applications for us the users of the phone.
Does any body have an explanation for these design flaws?
Have a good day and thanks to all the developers out there fixing the designers poor design (at least on some basic functionality).
Ophir
New os, first device running the os, they just wanted to present something. The first car ever produced sucked too, it just happens.
ophirb said:
When you mount the phone on a PC what do they have to hide when showing only the SD card content?
Ophir
Click to expand...
Click to collapse
When you mount the phone to the PC, it only mounts the SDcard. No ones hiding anything, but if you're using a stock G1 then thats all you really have access to anyways, and thats prolly the way google intended it, considering the OS is open source, so im sure while android was being developed they couldnt figure the need to hack a device thats already open source. So why would they make it to where any everyday user can just hook up the phone, delete the whole system "accidently", and then have a $400 brick? Cuz you know thats what everybody would do if they could...theyd go deleting things that they dont know what the hell they even do, then go whining to google or tmobile when their phone is ruined. Who wants to shell out all the money to replace all the phones that were bought by complete and utter MORONS who will settle for nothing less than to go messing with stuff they dont understand until they've rendered their phone completely USELESS? Not me, and surely not google, either. So if you want to have the phone mount the whole system, then make your own build and add that functionality. Thats the beauty of an open source platform, they made it SAFE FOR ALL USERS, and then advanced users who actually know what theyre doing can change it any way they want. So dont complain about the way android was released because it is, by no means, a finished product. So if you dont like it, CHANGE IT. Or pay someone else to change it for you. Whatever. But the point and the beauty of this OS is that YOU CAN change it, you arent just stuck with ****ty functionality, you can change whatever you want to make your device do whatever you want. Dont just sit around crying about the current state of android...get out there and make it better, for yourself, for all of us, or accept it the way it is and leave it alone.
-BMFC
Mine is multilingual... Under regional settings I change the language to spanish.
RSchmauk said:
Mine is multilingual... Under regional settings I change the language to spanish.
Click to expand...
Click to collapse
Ditto. Even though the hardware keyboard is English, there are plenty of alternative Virtual Keyboards on the market that have multi-language support, including middle-eastern and Asian ones.
Re: 256MB int memory... That's a huge "WTF" in my book. This phone should've had HTC Hero's specs of 512MB RAM and 256MB ROM.
Installing apps to SD card can be accomplished with custom ROMs. For everything else - "there's an app for that".
Keep in mind that Android is still in its infancy. As the OS and SDK mature, you will see all those features, and many more.
CBowley said:
New os, first device running the os, they just wanted to present something. The first car ever produced sucked too, it just happens.
Click to expand...
Click to collapse
Your saying the Ford Model A sucks? haha
What Should have been
The first car though did have four wheels an engine a steering wheel etc all teh BASIC stuff where there.
Today we have all the other goodies AC, ABS, Stereo etc.
In the G1 it is like they started with the goodies and left the basic out.
Since the OS is open source it can be modified, but if installing a modified ROM, it voids the warrenty.
So if you spent a lot of money buying the G1 discovered these flaws in the design and wants to rectify it by using a modified ROM you loose your warrenty.
Bare in mind that this is not a cheap device and so is expected to perform and have MORE functionality then a cheap device.
I whould not even bring all this up if it was a cheap device.
ophirb said:
Since the OS is open source it can be modified, but if installing a modified ROM, it voids the warrenty.
So if you spent a lot of money buying the G1 discovered these flaws in the design and wants to rectify it by using a modified ROM you loose your warrenty.
B
Click to expand...
Click to collapse
You could always just flash with stock firmware and perform a hard reset.
Don't get me wrong, in general I like it, it is just that it seems to me careless not to include those basic features. They, as a professional designers should be able to figure out the design better and it is not that they did not have anything to rely on, many smart phones are out there to learn the good and the bad from.
ophirb said:
it voids the warrenty.
Click to expand...
Click to collapse
Where did you come up with THAT nonsense?
If you change the software and the LCD quits, the LCD is STILL under warranty.

[Q] what to be aware of

I'm about to start working on my bc thesis which is an android app.
I just wanna know what to be aware of when developing an app for android if I want it to run on all devices. Are there any incompatibility issues ? How do I avoid them ?
I didn't even start learning, I just want to know this in advance so I won't be surprised.
My next stop is http://developer.android.com/index.html
grandioso said:
I'm about to start working on my bc thesis which is an android app.
I just wanna know what to be aware of when developing an app for android if I want it to run on all devices. Are there any incompatibility issues ? How do I avoid them ?
I didn't even start learning, I just want to know this in advance so I won't be surprised.
My next stop is http://developer.android.com/index.html
Click to expand...
Click to collapse
Depends on the application you want to make. It has more to do with different OS versions then actual devices, only thing between devices that you will have to worry about(generally) is screen size. This again depend on the app could be a big or non issue.
Different OS versions support different versions of the API, for example i believe openGL 1.1 was only officially supported after os1.6, and then openGL after 2(mayb 2.1).
There shouldnt be to many issues that can not be overcome.
Congrats on being close to completing your bachelor's degree, i still got around 1.5 years .(i assume this i what BC is?...)
I still got a lotta work to do, but thanks
So this sreen resolution thing... how do I overcome it ?
My app will be an advanced location-aware organiser with alarms, notes (text and voice), calender and stuff, maybe a widget too.
- should I be developing the application for an older version of Android just to by sure ? Or should I stick with the newest ?
- which operations need the user to have root access ? I want them to be able to use my app without root access, which functions do I need to avoid ?

[IDEA] Another Hand To Android From The XDA Team

Hello to all XDA developers and chefs
Before giving this idea i would like to introduce myself I'm a new programing student interested in the Java programing language, also interested in mobile programing. I've already tried searching for this idea and as far as my research went there has been none like this.
Here it goes
-Everyone know how much of a pain it is for several people to use the skinned versions of android on their phone (blur, sense, other), we all would like to get more stock android from our companies but it seems to become a unreachable dream. now many have said that they must find an workaround for this, yet no idea seems to become a reality....
now my idea consist in having to android packages on every phone from stock one package that will be installed for default and another package that the user may choose to install, the default package will come with a skin while the optional package will contain stock android, now the way to manage this two is via an application from witch the user by running it will decide to have stock rom or skinned.
Now this is the way I think this should work
-User opens the app
-App pops a warning to the user telling him its phone will be fully reseted
-The user accepts the consequences
-The app turns the phone into a recovery mode with a selection for witch package to recover from (for example return a #1 indicating that the user wants skins on his phone will install the package with the skin or a #2 to run a package with no skins at all)
why am I asking help from XDA? because of two things
-I currently don't know that much about programing
-I think XDA would be the best site for the idea to grow and become something significant
what are my plans with this idea? I'm currently writing an open letter to Google and the manufacturers to bring many options to the OS. I thought i would be a great idea not only to deliver this letter but to give the materials they could work on...
do I get anything if I help with developing such an idea?
I currently have no plans on taking credit or any remuneration of any kind from this "project" but I would clearly name those who made this idea possible, now if "bounties" where to come from this then you may earn them...
what are you asking me to do?
-Brainstorming, I would like to see how this idea gets refined.
-Development, when the idea is complete having many attempts to get the idea to work would be great.
-Testing and feedback, help the idea to work on as many devices as possible
-Support, when the protect gets completed i would like everyone to spread the voice. if its a great idea then it should be heard.
Thanks for your Time.
reserved.....
Cyanogen mod is basically stock android with a few mods and tweaks. If doesn't have all of the bloatware that skinned manufacturer roms have so its alot faster and I think stock android looks better than sense, etc.... Its been compiled for a wide range of phones.
K Dotty said:
Cyanogen mod is basically stock android with a few mods and tweaks. If doesn't have all of the bloatware that skinned manufacturer roms have so its alot faster and I think stock android looks better than sense, etc.... Its been compiled for a wide range of phones.
Click to expand...
Click to collapse
I know about the cynamogen mod have it on my pone,where I'm trying to go with this idea is that there might be other methods for the companies to deliver stuff to the end user and the dev. many know that for example with blur the phone does not work the same when it as blur removed, thats because the 'blur' its being integrated a lot with the OS and in some cases seems to be a pain to remove...
So basically, you have no programming experience and I would hope that English isn't your native language.
Your best bet for now would be to sit back and watch those ahead of you and ask questions as needed.
I think he's suggesting that any code that came about from this would get pushed into stock and hopefully integrated by Google. Manufacturers wouldn't tamper with it; rather, they would make their custom skinned Android (so HTC Sense, or Samsung Touchwiz, or MotoBlur/NinjaBlur) be separate. Phones would require more system space to accommodate for the backups, but it wouldn't have to be astronomical, as only the parts of the system that the skin makers actually modified would be in those recovery partitions. So then the recovery utility launched by the included app would pull all of the packages from whichever partition (recovery_SENSE, for example, or recovery_VANILLA for stock) and push them into /system. So the phone's system would have three total partitions: /system, which would be mounted by the phone during normal boots, /recovery_[whatever_skin], which would hold the manufacturers version of anything they skinned, including apps, frameworks, anything they added, etc, and /recovery_VANILLA, which would only hold the stock versions of anything in the /recovery_[whatever_skin] partition, plus anything the manufacturers took out.
Furthermore, if the partitions are all made big enough, they could future-proof phones. recovery partitions would hold the entire system, skin (or lack of skin) and all, then Google would be made responsible for pushing out the updates to the /recovery_VANILLA partition, keeping all phones up to date. People who ACTUALLY want to sacrifice features for the skin and possible other features could do so. And because everything is backed up to your Google account, there'd be no problems. Everything would get synced at first, but after that you'd be smooth as butter.
I think if this was implemented, and Google told manufacturers they had to do this, it would do a whole lot in the way of moving us away from skins. I think as Google updates are pushed out and manufacturers are updating far less frequently, more and more people will switch to their stock partitions, and, through ad information, manufacturers would realize the skins are wack.
momentarylapseofreason said:
So basically, you have no programming experience and I would hope that English isn't your native language.
Your best bet for now would be to sit back and watch those ahead of you and ask questions as needed.
Click to expand...
Click to collapse
I actually don't mind if someone takes this and makes something out of it... I don't even want the credit, but I as well will be working and reading as much as I can to get something working, I know this may be hard or complicated but if I see this being implemented and people enjoying it I'll be happy
guitargler said:
I think he's suggesting that any code that came about from this would get pushed into stock and hopefully integrated by Google. Manufacturers wouldn't tamper with it; rather, they would make their custom skinned Android (so HTC Sense, or Samsung Touchwiz, or MotoBlur/NinjaBlur) be separate. Phones would require more system space to accommodate for the backups, but it wouldn't have to be astronomical, as only the parts of the system that the skin makers actually modified would be in those recovery partitions. So then the recovery utility launched by the included app would pull all of the packages from whichever partition (recovery_SENSE, for example, or recovery_VANILLA for stock) and push them into /system. So the phone's system would have three total partitions: /system, which would be mounted by the phone during normal boots, /recovery_[whatever_skin], which would hold the manufacturers version of anything they skinned, including apps, frameworks, anything they added, etc, and /recovery_VANILLA, which would only hold the stock versions of anything in the /recovery_[whatever_skin] partition, plus anything the manufacturers took out.
Furthermore, if the partitions are all made big enough, they could future-proof phones. recovery partitions would hold the entire system, skin (or lack of skin) and all, then Google would be made responsible for pushing out the updates to the /recovery_VANILLA partition, keeping all phones up to date. People who ACTUALLY want to sacrifice features for the skin and possible other features could do so. And because everything is backed up to your Google account, there'd be no problems. Everything would get synced at first, but after that you'd be smooth as butter.
I think if this was implemented, and Google told manufacturers they had to do this, it would do a whole lot in the way of moving us away from skins. I think as Google updates are pushed out and manufacturers are updating far less frequently, more and more people will switch to their stock partitions, and, through ad information, manufacturers would realize the skins are wack.
Click to expand...
Click to collapse
Indeed thats what I'm thinking... I don't think space should be much of a problem, especially on hight end phones.
When I posted this my fist idea was to give someone an idea I don't mind how you implemented or who you decide to work with (I'll probably just slow you down anyways)
K Dotty said:
Cyanogen mod is basically stock android with a few mods and tweaks. If doesn't have all of the bloatware that skinned manufacturer roms have so its alot faster and I think stock android looks better than sense, etc.... Its been compiled for a wide range of phones.
Click to expand...
Click to collapse
Basically stock? AHAHAH
It's all but stock... so many changes, have you ever run a stock Gingerbread or even FroYo recently? Way faster than CM. The truth is that ATM CM is just a candy ROM ATM with large phone models support.
I'd really like to see a stock rom for older devices - here is where CM is proud of. But it's not stock.
As of the application support, you may use my ROM Updater ( http://www.elegosproject.org/android-rom-updater ) to setup repositories of stock ROMs (and in a near future extra downloads like kernels, themes and so on).

[Q] Development on HTC Desire/Incredible S

Hi All,
I'm not following the usual paths. I've developed apps for WP7, but now accept that I also need to develop for Android.
Consequently, I need an Android phone as a development test unit. I'm looking at the HTC Desire S or Incredible S phones.
My concern is that I understand that HTC has locked these phones from rerooting.
Would this stop me from creating my apps and testing them on one of these phones, without having to sign up as a developer on the Marketplace.
Any feedback would be appreciated.
Cheers.
You don't need a rooted device to test apps, and a properly installed Eclipse setup will automatically run and debug your app on the phone itself regardless of whether the phone is rooted or whether you are registered as a developer on Android Market. In fact, you can start without even having a phone. The Android SDK for eclipse has a very functional Android emulator included.
But, if you want to browse your db data from developed application root will be helpful. Anyway root is not required.
Yep, you definitely dont' need a rooted phone to develop for Android. I developed my first app and published it before rooting my phone.
As Gene Poole said you can dev even without a phone. I use IntelliJ instead of eclipse - it has Android plugin too, but I think IDE is just personal preference. Though testing on an actual, physical phone is highly recommended.
afaik, there are some cases where you'll need a rooted phone, eg: if you want to make a screenshot app then you might need to root your phone. Though I think this is only if you're doing super funky stuff then you might need a rooted phone, but normal dev should be fine.

[2 Dec] [Q] Does the HD2 have Carrier IQ?

I have the US version of the HD2 on T-Mobile. Currently reset to factory defaults. Any idea if this phone has Carrier IQ installed?
Is there a way to check for CIQ on WinMo 6.5?
So far I've seen tons of discussion on Android and iOS, and most of the talk has been about Verizon/Sprint/AT&T, but I haven't seen anything about WinMo or T-Mobile in the midst of all that. (And yes, I *have* searched the forums, thankyouverymuch!)
Any ideas?
Nope.
http://forum.xda-developers.com/showthread.php?t=1373226
Thank you!
Thank you! Could not, for the life of me, find this on the forums!
Problem resolved
lol, why have you put a date at beginning of your topic??
n00b question I think, but can one safely assume that it's not on a hacked device running Android off either SD or NAND? This is assuming a task29/full wipe and installation of an XDA-sourced Android ROM. I.E--can we safely assume it's not hidden in any ROMs, unbeknownst to the chef?
"Rootkit", in itself, means a piece of malicous code that is hidden well beyond the capabilities of a file system to be read. I.e. it exploits various APIs so that it essentially appears as a bunch of numbers that the OS is unaware of existing. It has lowest level of access to your device such that it is virtually undetectable without special means.
That being said, I would doubt it would be in any kind of "ROM" someone can cook. It has to be on the BIOS/Flash level were it can be essentially untouched--but that's just my opinion, mind you.
jo_iii said:
"Rootkit", in itself, means a piece of malicous code that is hidden well beyond the capabilities of a file system to be read. I.e. it exploits various APIs so that it essentially appears as a bunch of numbers that the OS is unaware of existing. It has lowest level of access to your device such that it is virtually undetectable without special means.
That being said, I would doubt it would be in any kind of "ROM" someone can cook. It has to be on the BIOS/Flash level were it can be essentially untouched--but that's just my opinion, mind you.
Click to expand...
Click to collapse
That's about what I thought...hard for me to imagine it could be so hidden that a fully wiped phone loaded with a cooked from scratch ROM would still have this insidious little sneak in it. Hard for me to imagine it'd be hidden in the kernel or elsewhere and the Devs wouldn't have caught on to it a long time ago. I'll keep my eyes and ears open for a firmer answer and will share it here if/when I do...thanks!!

Categories

Resources