A good "clean slate" phone to start with - Android Software/Hacking General [Developers Only]

Firstly, first post, so hi everyone!
I'm wondering what a good, cheap phone is to use as the basis for developing my own Android ROM from very first principles (delete what's already on the phone, and build a ROM from source code). I want to learn from scratch and ultimately work on driver changes (particularly USB/OTG). I have lots of experience of embedded C/C++/assembler programming, but none as yet with smartphones or Android.
I suppose some have "easier" hardware than others, in terms of OS compatibility, availability of drivers, and info on chipsets and specs.
I was thinking of a higher end chinese clone - would that be a good choice? Any ones in particular?
Thanks for any suggestions, and look forward to being around here for a long time.
EDIT: I forgot to mention, USB OTG would be nice, but not critical.

G1/My touch 3g

The Nexus One is Google's Dev phone. Most updates are probably developed on that device first.
Another thing: this is Chef Central, which is supposed to be a thread for developing roms or rom tweaks / add-ons. Your question should be in "Android General" instead.

Related

[Q] Need Your Input

ViewSonic is putting together a developers' site for all our Android products, and would love your input as to key items to include. Obviously we may not be able to include everything, but want to create something you'll find useful and valuable.
Please post your wishes here!
Thanks,
-Adam
1. HDMI out.....not through a dock
2. IPS or better screen
3. 1GB + Ram
4. 16GB + internal sdcard
5. USB ports
6. Mini and micro sdcard support
7. Released source
8. 3G/4G option
9. Optional ssd
10. GPS option
11. Bluetooth
12. WIFI of course
13. Support updating operating system for at least 2 years instead of "release and forget.....*cough* sam *cough* sung"
14. Leave the bootloader unlocked for the crazies like me that want to hack no matter the consequences. If I brick I'll eat it.
15. Keep up the good customer service you currently have
16. Quit making promises about flash when you don't have control over Adobe lol
OH yeah......Can I have my Honeycreams please!!!!!!!!!!!!!!
EDIT: BTW....I am retired and would make a perfect person to test new products for you. Hint Hint
thebadfrog said:
1. HDMI out.....not through a dock
2. IPS or better screen
3. 1GB + Ram
4. 16GB + internal sdcard
5. USB ports
6. Mini and micro sdcard support
7. Released source
8. 3G/4G option
9. Optional ssd
10. GPS option
11. Bluetooth
12. WIFI of course
13. Support updating operating system for at least 2 years instead of "release and forget.....*cough* sam *cough* sung"
14. Leave the bootloader unlocked for the crazies like me that want to hack no matter the consequences. If I brick I'll eat it.
15. Keep up the good customer service you currently have
16. Quit making promises about flash when you don't have control over Adobe lol
OH yeah......Can I have my Honeycreams please!!!!!!!!!!!!!!
Click to expand...
Click to collapse
+1
I think that pretty much covers it, especially the part about honeycreams.
edit: it would be great if viewsonic devs put together a recovery package suited for the gtab since the only version of cwm that seems to work on this device is bekits modified version v.08
OfficialViewSonic said:
ViewSonic is putting together a developers' site for all our Android products, and would love your input as to key items to include.
Click to expand...
Click to collapse
It sounds like VS is asking for suggestions about what to include in the developer's site - that is, what information would be useful for developers creating apps to run on the GTablet and other VS Android tablets...as opposed to a wish list of features for the devices themselves.
Twitter feed answered by an engineer/development team member.
If you want to go hardcore.
Provide things like git hosting to selected xda developers.
Create some sort of cloud based compiling system and provide that to the developers as well.
Wait...you wanted suggestions for a web site. Look at this forum and add very strong mods to keep the clutter down. If your "official" site is not gonna allow the fun things we like to do to our tabs it probably won't gather much attention. However just keeping your online manuals and source files updated would be great. Allowing a private area for people to test UATs instead of them leaking into XDA would be kinda nice as well. I understand for legal reasons you couldn't have certain topics but it would be nice if just 1 provider of tabs would at least acknowledge the benefits of having the devs do their magic.
I was aware of what he wanted....just thought I would get my dream machine out there
It does seem like there could be a model out there for a vendor to create some sort of NDA protected developers program for early adoption.
Not releasing any files prior to official launch, but acknowledging that at launch those files will be stripped from another device. For example if company X has a legacy product Y1 and in the fall Y2 is coming out with a newer OS that could potentially be applied to Y1 then instead of waiting for Y2 to come out and people break their Y1's trying poor approaches to modification (and damaging your brand in thier eyes) you provide a group of developers lead time access without permission to release until say 3 months after Y2 comes out. This is double edged that it protects your competitive market strategy of Y2 while respecting the investment Y1 customers have made and recognizing the expectations of the users of the overall operating system you have choosen to utilize.
Had to read it twice but ^^^^^^^^^^^^what he said. There are several people here that would love this kind of opportunity. (This guy included)
Hi,
I'm not one of the devs here, but, from working w the Gtab, some of the things that would be useful would be:
- info on the BCT and partitions. There's some generic info around the web, but it seems like mostly reverse-engineered, read: guesses.
- source for bootloader and recovery (these may be proprietary, but maybe release under NDA?)
JMHO...
Jim
Adam
What would the company like to get out of starting such a project? That would dictate what should be included from a logical standpoint.
If only for research and testing then that would be something totally different especially for the folks here that know how to play with code? I would just guess if given the right information, tools and a place to share and explore the android system with support from your company , it would be taken to a level that the average user of mobile devices right now couldn't even imagine.
Android will in all likely become the system of choice surpassing the mighty Redmond and great apple.
I step back from my soapbox and blend back into lurking mode
Thanks,for responding to our calls and emails "for action and after purchase support." I bought from a retailer who was not allowing returns nor refunds, however, I did get a service plan. After working with it, I would not return it. Thanks to the incredible hardware and developer support from this site.
-Add direct movie streaming capability like from Netflix
-Easy beaming to other devices
-Easy tethering
-VPN
-Firewall or data encryption
-Public network privacy protection
-Standard auto attachment slot for GPS, music streaming, etc. making it interchangeable (I have an auto Navi/GPS (plus usb & bluetooth) about the size of this panel--thinking future forward--truly wishful thinking).
-Smart reader for scanning business cards, docs, etc. into it
-3G, 4G plus talk, fax modem capability
-Task Switcher or Manager
All I can think of now, will add more in case I forgot something.
Not a dev myself, but if this project was able to give us consumers some of my below suggestions, im sure many of us would be very happy and willing to continue to purchase VS products.
1) Real working market (I realise this is dependant on VS sorting things out with Google).
2) Required lib / drivers to use USB GPS and USB 3G.
3) For times when compatibility of software can be a task issue, the option to be able to dual boot to say WINCE. So basically WINCE support. This is for those like myself who cannot use our work related networks due to the limited proxy configurations support that Android currently has.
1: forum for known bugs list in current factory rom
2: forum for workarounds and non warranty breaking fixes for forrum #1
3: link to xda, with the caviot that using instructions from the sight could break warenty/brick/Bork the gtablet, for those who are fearless. (I have have purchased viewsonic monitors for my whole computing career, you could use an image boost. I love your brand so I think spending money reping android would bring a lot of life back to you. )
4:full software disclosure. At this point its all about power, ui, and price. You have the power and the price... recognize that 98% of your tab sails are to people who take your ui and toss it without a second thought. Not being mean, just honest.
USB
I would like to see is better support for USB drives. I would like to be able to use all my hard drives and thumb drives. Thumb drives work now but some times I plug them in and they are not recognized, forcing me to reboot.
For that matter move drivers for USB devices in general.
notsob2002 said:
Adam
What would the company like to get out of starting such a project? That would dictate what should be included from a logical standpoint.
If only for research and testing then that would be something totally different especially for the folks here that know how to play with code? I would just guess if given the right information, tools and a place to share and explore the android system with support from your company , it would be taken to a level that the average user of mobile devices right now couldn't even imagine.
Android will in all likely become the system of choice surpassing the mighty Redmond and great apple.
I step back from my soapbox and blend back into lurking mode
Click to expand...
Click to collapse
We are looking to provide a centralized source for all the code/content/specs/details/etc you need for our Android-based products. But rather than guess what to put there for y'all, we'd prefer to ask! ;-)
OfficialViewSonic said:
We are looking to provide a centralized source for all the code/content/specs/details/etc you need for our Android-based products. But rather than guess what to put there for y'all, we'd prefer to ask! ;-)
Click to expand...
Click to collapse
It's kind of funny that here you are asking for dev input and not a single one of our wonderful devs (you know who you are) have posted a response. I assume they are doing their communicating behind the scenes with you but that is purely a hunch on my part.
Anyway, I LOVE my gTab running VEGAn beta 5.1.1 but fully support your interest in helping our cookers so they can make your product as well as their product better.
sjmoreno said:
It's kind of funny that here you are asking for dev input and not a single one of our wonderful devs (you know who you are) have posted a response. I assume they are doing their communicating behind the scenes with you but that is purely a hunch on my part.
Anyway, I LOVE my gTab running VEGAn beta 5.1.1 but fully support your interest in helping our cookers so they can make your product as well as their product better.
Click to expand...
Click to collapse
I agree that the intent of the request was for what features would you like them to provide on their site, not in their products.
I think a forum, such as this, would be nice, especially if you can get the viewsonic developers to sign on to responding in a timely manner.
If you (viewsonic) are serious about reaching out to the developers, I think you have a great opportunity to make your system open and developer/modder friendly and become a leader in that category. could definitely be a great opportunity for you guys.
Oh, and perhaps a legal repository for .apks which are not available to us in the market for easy installation...
I assume VS goal is to sell tablets. You have developed a good hardware platform at a great price point. A few changes and you have a great platform. To sell more tablets you need slick firmware. The devs at XDA have accomplished that with minimal support. Full support would work wonders. Suggest ask the devs what they need, in what order and what detail. Might even give them access to your dev team. Website should have dev only section and a well updated what is going on section to elliminate the repetitive " are we there yet" questions.
If you are sincere in this offer, it should provide a great benefit to both VS and it' s users. Lookout ipad here we come.
All Android devices need work to play in the corporate environment. Security needs to beefed up, the ability to integrate with MS Exchange servers, work with proxy, vpn, and whatever other security stuff is comes out. IPV6 is a requirement too.
OfficialViewSonic said:
We are looking to provide a centralized source for all the code/content/specs/details/etc you need for our Android-based products. But rather than guess what to put there for y'all, we'd prefer to ask! ;-)
Click to expand...
Click to collapse
Well, go ahead and start the forum and post a link for us so we can start using with all the information that you have and can release and make adjustments as needed. You never know what will happen it may be more helpful to people than they may think and if nothing else it would be beneficial to people who just bought one of your products and don't understand the product and its capabilities.
Thanks for having the forethought to ask because most companies probably wouldn't even think of trying to get independent development for their product from outside of their sales or IT department! Thinking like that might actually make you the leader in a soon to be crowed market

[Q] Android phone for devlopement

Hi,
I am at point where I would be buying a new mobile phone. I don't have budget problem, but I am looking from the point where I'll be able to use my phone as development device.
I have shortlisted some options:
Nexus S: This seems to me an idle device for development. It also has NFC. You have early access to the android flavors. But with dual core processor phone in the market, I not sure if this a good choice.
Samsung Galaxy s 2: The phone is expensive, but has many feature(except for NFC ). Do you think this can be a good device considering future versions of android might be out by November-December(speculating)
Wait for another device: Wait for a device. But then everything can't be obtained in a single device. How long will I wait?
HTC Sensation: Not much info about it.
Any other device
I seem to prefer device with NFC and dual core(may be because it a future ready).
Really confused. Just looking for a device that can be used for development on current and future flavors of Android.
Also I have read about rooting a device. Not sure if this is a proper question, but if someone roots a device can the person explore the full capabilities of the device(provided the rooting is proper).
I prefer not to wait for another device and I am confused between Nexus S and Galaxy S 2.
Please give you opinion about my choice or some other device that I should consider.
Thanks
Prerak Desai
if you need a phone for development, first choose your target audience.
i dont think a vast majority of the people will be upgrading too soon to dual core...
now if u wanna push boundaries with your programming, go ahead with the latest...
but its good to have a phone that a greater percentage of the people have...
also, do consider the major portion of people are on android 2.2 and 2.1 (more than 85% as on google site)...
think from a developer pov, not a user...
Thanks HyprGeek for the reply. Seems to give me a point or two to think about.
But don't you think if I buy what majority are buying today, then in about a month time something new will come up and the crowd will start moving towards it. Then i'll be stuck with old device.
I personally feel you need have something(especially electronics device) that arefuture ready so that you don't regret your decision in a short time.
What do you think from a general point of view, which device I should consider?
Thanks,
Prerak Desai
well, u need to detemine how big the "crowd" is...
http://developer.android.com/resources/dashboard/platform-versions.html
and i dont think computers/mobiles can ever be future ready...

[Q] Which Android phone with front-facing (secondary) camera to buy?

Greeting to fellow developers,
First thing's first: I'm a programmer, experienced in Java, C,C++ (mainly MSVS, unix/linux), and a few other (i.e. no longer fashionable) programming languages ... And I'm planning to start developing Android based Apps. Currently I'm in the phase of selecting the most suitable phone for my future endeavours.
The Question: What is the best, most suitable, Android phone which fulfils following criteria:
[1] is based on Android OS
[2] has a front-facing, i.e. secondary, camera. This is a must (!!!)
[3] is suitable for development & testing front-facing camera Apps. A must (!!!)
[4] would also be suitable for development of other Apps
[5] phone has to have a company promise of at least 12 months of security updates and updates on newer Android OS vers. (Due to ongoing developing, App debugging, etc.)
Where I come from (Slovenia-land) following are the phones which are available and achieve upper five features: Samsung Galaxy S, Samsung Galaxy S 2, Samsung Nexus S, HTC Sensation, HTC Desire S, LG Optimus 2X, Samsung I8000 Omnia II, .... (These are all phones available through telecommunications companies - i.e.: by investing into a 24 month usage plan. There's also a few other, promised, scheduled to be pushed on the market, phones. But without any certain launch dates, there's no point in me mentioning them!)
What I'm looking for is an advice from seasoned developers, who are / were already developing front-facing-camera Apps, which Android phone is best for me to buy (to be used for a whole App life-cycle: learning, developing, testing, updating)? Due to Android phone fragmentation this choice is really mind-boggling me, and is very difficult for me to make, and I would really not like to buy two or more phones right from the head-start. - For the past few months I've been reading a lot about Android development, and the thing that frightens me most is Android fragmentation. The way I understand negative effects of this fragmentation is: Let's say I develope an App, which exploits some front-facing-camera functionality (like a new skype, fring, or sth. like that), and start marketing it on various Android App Markets. Which phone is best for me to buy, to be able to avoid, those "doesn't work on my htc", "doesn't work on my gingerbread SGS", etc. negative Customer Experience and Evaluations? ... In short: I'd like to buy an Android phone w/ an Android OS, that would ensure me a developed App on that phone, is giving me confidence and peace of mind, that my App will work on all, or at least most, front-cam Android phones. I'm looking for an advice on which phone to invest in, so that my developed App will work on all, or at least most, Android 2.3.* (or later ver.) phones?
Currently I'm rooting for a Nexus S, but have read a few negative evaluations about them on Cnet and Google Customer Support forums . And I'd really not like to buy a $600 phone, which front camera or Wi-Fi doesn't even work the way it's supposed to! ...
I hope I'm not asking sth. that's not even remotely possible? And most certainly I hope I'm not shooting goats? ... Like I said, I am experienced in desktop Java, linux, etc. development, ... but the World of Android development is totally new for me! But I don't the have money to buy all of the latest front camera Android Phones out there.
I've searched this forums extensively, but found no answer to my thoughts and questions! I've also asked on fellow developer forums, got a few weak answers, but no strong ones. As You can see, I have a few blind spots in my knowledge ... And hopefully w/ Your help, I can fill these spots!
Thank You very much for any advice!
-- Lucky Star
Anyone? ... .. I'm just looking for an advice on which front-cam Android phone is best for me to buy for development purpose (to ensure that my App will work on all Android 2.3.* phones, i.e. best phone to fight Android fragmentation) ... Any kind of advice will do.
Thank you for your help.
Have a nice day,
-- Lucky Star
I think your best choice is the Nexus S as it is the official Google puppy and very easy to develop for.
Why is the Nexus S, as you say, "very easy to develop for"? - Is the development process on e.g.: SGS2 more difficult than Nexus S? They are using same OS, same SDK. SGS2 only has different UI.
2nd Question: How do I ensure my developed Apps on, let's say, Nexus S will indeed work on all, or at least most, front-cam Android 2.3.* phones?
Thanks for any and all advice!
Keep em' coming!
-- Lucky Star
+1 i am i also seekin a good suggestion
Bump ...
Come on people ... There must be some enthusiast on XDA developing Apps and exploring Android's FFC functionalities?
Still in search for a good advice ...
Many thanks!
Sgs 2.
Sent from SGS Captivate CM7 or MIUI with Escapist orTKGlitch using XDA premium app.

[Q] Developing an OS, help needed by developers

hey guys, well Iam a computer engineering student , and going to start my final year project, the project Iam going for is to develop an operating system universal enough that could run on almost any type of smartphones, i know that it is not a piece of cake , and developing everything from scratch would be impossible, according to me if i could develop a kernel level os in such a way that it is compatible with any kind of hardware , and for the application level layer i can modify android open source os, to start with i can use 2 smartphones ie one with android and other windows and somehow study the hardware they are using so that i can write a kernel in assembly language which is compatible with both,
i would like admins and developers to share there views and guide me with their opinions ..
osamaakadjob said:
... so that i can write a kernel in assembly language
Click to expand...
Click to collapse
I've done nothing but flash phones with android but I've done plenty with Microcontrollers and microprocessors in hardware and software development. From your statement you have a lot to learn if you think you can best a C compiler's optimised output with your own assembly... with some controllers its advised to stay away from assembly altogether unless you know that micros architecture inside out.
Not to mention the years of community development and testing of the existing linux kernels for the various platforms out there
dont really know how much you know about all of these stuff so from a 15 year old dev boy here is my advise(sorry if you know this just trying to help)
1)use two qualcomm devices(there are more of them than of other chipsets and are easier to dev to)
2)make it for now for single core phones(wp7 phones doesnt support dualcores and youll have a hard time if you use dualcore phones)
3)try to use old same manufacturer phones(in my personal view i would use two htcs...theyre just easier to dev....or in second case samsung)
4)good luck and prepare lots of coffee [youll really need it(said from an ubuntu dev)]
here are my ¢2 cents hope it helps
Sent from my €PΩ 4G TØU©H
Why not just mod Android? It's open source and a lot of the legwork has been done already. No need to reinvent the wheel.

[Q] Ubuntu or Android for a 3rd world tablet-based education project?

Hi all
MY QUESTION
How much work is it to get Ubuntu working on a cheap tablet, (in terms of weeks and stress/reliability)? I'm about to spend a year writing tablet software that needs cheap hardware. If I find a capable Android tablet going cheap, is it reasonable to consider getting Ubuntu working on it, instead of restricting myself to the Android OS to use cheap tablets? Would Ubuntu C++ apps still kill performance? (Ubuntu will save me lots of development in other ways.)
ALL comments pleease, however brief and knee-jerk.
BACKGROUND (all feedback gratefully received)
I'm at the design stage of a project to use tablets to improve education in poor countries. Extremely briefly, the tablets will use elements of social media to enable children to collaborate remotely and asynchronously on projects, and game aspects to get the kids excited, who have probably spent the day working on the fields, and to welcome kids with special needs. The system will enable education to continue in complex emergencies, such as droughts and conflicts. Currently most kids drop out after grade one as the education they're offered is so poor. Tablets can support teachers and enable kids to get more out of their classroom and homework time.
The system needs some clever back-end engineering to operate a local social network if there is no internet connection. (I'm thinking something like NodeJS acting as both a p2p client and a server.) It also needs to run on cheap devices, if it is to be adopted by third world Ministries of Education.
I am currently torn between Android and Ubuntu for tablets. Android will presumably be the cheapest platform for the foreseeable future - tablets now go for as little as $40 wholesale. However Ubuntu for tablets now offers the ability to bring a proper IT education to these children, as they can learn office software, desktop OS, etc. Ubuntu also provides source code I can customize, eg, GCompris, Tux4kids, KDE and Epoptes. I can see Ubuntu on other tablets here, but it seems the Nexus 7 is the cheapest tablet I can currently get Ubuntu on and performance is still an issue. Is that fair to say?
I can write everything using C++ and OpenGL to squeeze as much as possible out of every processor cycle. I have been a developer for 15 years, but am pretty ignorant when it comes to hardware/OS level.
My alternative is using something like Titanium and Unity, (I don't think HTML5 will perform well enough), so I have a bit more platform flexibility, at the price of having to develop everything from scratch, and using technologies for the back-end stuff that aren't as ideal, (such as Android Java and/or Titanium JS). But perhaps that keeps more options open for me?
My feeling is I should go for Ubuntu, but the price needs to reliably reach considerably below $100 to become a nationwide system in a poor country.
Obviously any comments or thoughts on any aspect very gratefully received. Don't restrict your comments to my question - I want all your wisdom!
Huge thanks for reading all this and any contributions
Chris
Re-post
perhaps you would get more of a response if you made this a bit shorter, and re-posted on ubuntu.stackexchange.com, android.stackexchange.com, and programmers.stackexchange.com
Also, perhaps a little off topic, but have you considered using coffeescript? :cyclops:
Thought it might be a stackoverflow question, this forum is amazing for tablet OS dev though. As ever I blather on too much...people have complained in the past.
All three? Wouldn't that be bad netiquette?
That's kind of a tricky question because technology is always evolving and prices fluctuate so much that in a year you might be able to get a device for half the price. I'm not knowledgeable about the new Ubuntu options but if your gut says go Ubuntu, than do it.
Thanks, I'd love to say gut instinct served me well, and I'm all for intuition, but I wouldn't trust it enough to dedicate 6 months of development on its hunch. However these replies and the act of writing the question has crystallized my view a little so I now have more targeted questions.
found this excellent guide on the hassles of porting an OS to a new device...
http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Porting-Android-to-a-new-device/
and this
http://stackoverflow.com/questions/...droid-kernel-porting-from-one-device-to-other
So looks like a month, best case, with expert developers and a device well-known for being hackable. So to port ubuntu to a $40 device, I'm thinking three+ months, plenty of risk, and much pain.
Some other interesting posts:
A little gritty detail on porting kernels: http://stackoverflow.com/questions/...droid-kernel-porting-from-one-device-to-other
A tutorial on building (compiling, not developing) a kernel: http://forum.xda-developers.com/showthread.php?t=2110842
The best post I found on porting ROMS: http://forum.xda-developers.com/showthread.php?t=1941239
Porting modules from within kernels: http://forum.xda-developers.com/showthread.php?t=1751966
Porting cyogenmod, (a ROM, not a Mod, as anyone on this forum probably knows): http://forum.cyanogenmod.org/topic/15492-general-cyanogenmod-porting-discussion/
A new kernel developer: http://forum.xda-developers.com/showthread.php?t=2173411
A vocab for noobs like me: http://www.talkandroid.com/guides/beginner/android-rom-and-rooting-dictionary-for-beginners/
I was wrong. Ubuntu Touch is based on the CyanogenMod kernel, which is widely ported.
From Canonical's FAQ on the bits of CyanogenMod used: "The kernel and a few low level drivers for network, video, audio and some other hardware features are taken, all the higher level parts have been taken out. On top of this the whole Ubuntu is started in an chroot environment." ( https://wiki.ubuntu.com/Touch/FAQ#How_is_Ubuntu_Touch_connected_to_Android.3F)
As a result it has already been ported to about 40 devices, and porting to a further 30 is work in progress, listed here: https://wiki.ubuntu.com/Touch/Devices
CyanogenMod officially supports 172 devices, and unofficially supports another 59.
Officially supported devices: http://wiki.cyanogenmod.org/w/Devices
Unofficially supported devices: http://wiki.cyanogenmod.org/w/Unofficial_Ports

Categories

Resources