I have an android app with more than 500,000 users. I want to try to port it to WinPhone7, but I haven't any smartphone with WinPhone7. Is a real device needed to publish an app on WinPhone? Is there some developper phone?
First of all, I will say that for some scenarios, there is no real substitute for have a physical device to test against. Having said that, I would suggest that 99% of what most apps will do can be developed and test perfectly well on the emulator that comes with the developer tools.
The advantage of the emulator is that you can write and test without shelling out for the hardware and then signing up to create.msdn.com to get it (officially) unlocked, but once you are ready to deploy to the marketplace you will need to sign up anyway.
In your case, I'd say the main word in your question is "try". You don't seem confident in being able to port to the platform so the emulator route seems like the best starting point.
Your will find a Windows Phone 7 emulator in the Windows Phone SDK. You can download it for free on create.msdn.com.
There is an Android to Windows Phone API mapping tool and Windows Phone 7 Guide for Android Application Developers white paper as described on the Windows Phone Developer Blog that you should find very useful.
For getting a development device, you should reach out to Brandon Watson or your local Microsoft WP7 dev rep.
Simple answer - no, you don't. There are plenty of applications out there that were published without being tested on an actual device. Whether it's a good idea or not - that is the main question here. Depending on your application type and its behavior, you might actually need a device.
Also, another problem is the fact that the resources used by the emulator are different from the resources used by the actual device. That being said, if your application runs just fine in the emulator, it will not necessarily run the same way on a device.
You can use the WP7 emulator to test your application. But if you want to deploy it on a real phone, you will have to unlock it though the App Hub portal. That will cost you 100 dollar/year though.
As you and others have rightly pointed out, you can start porting your application using the emulator. There are differences in the emulator and real devices. In particular, to answer your question, emulator does not take pictures.
If your Android app really has half a million users, MS will happily give you a developer device (nearly) for free.
Contact #BrandonWatson or #FrankPR on Twitter.
From my experience I can tell you, that the emulator works very well. But once in a while you will stumble about a problem that you don't understand why it happens. Then you try it on the phone and it works... So... The answer is yes...not!
Related
i know it might be the same as this question. i am from the philippines as well but the phone mentioned in that link is a samsung which is an internationally well-known brand and i know that adb supports that brand. what i am planning and really want to buy is this locally known phone. it got a really nice specs but i am worrying that i might not be able to use it on app development. i found adb drivers on the net and installed it but i don't know how to use them with android studio. the reason why i want to use a phone for development is because my laptop slows down with i run android studio and the emulator at the same time. if some co-pinoy already know a phone that they already used for app development within the same price range of flare x, please let me know. please guys i really need help on this matter.
Any phone that allows you to enable USB-Debugging will be suitable for android development. Most developers try to stick to a phone that has a clean Android base like a Nexus or Moto X, as it rules out any interference with vendor specific changes to Android (like Samsungs TouchWiz).
See this page for further information on using a hardware device for development. Google does not recommend any specific device.
Also see this list for device vendors providing ADB drivers. If you want to play it safe, stick to these vendors.
This download page suggests that the Google provided driver is suitable for the Cherry Mobile Flare X too.
Is is possible to directly deploy apps on ios or android devices just for testing?
My Background:
I am currently developing iOS and Android apps but using only emulators.
Maybe you can consider me as an intermediate mobile developer but newbie in direct installation of application created.
Also, I'm afraid my iPhone or my android devices get destroyed if I will try some of the blogs tutorials found on the net.
You can try your application on actual mobile devices on both platforms.
With Android is pretty straightforward: just plugin your device to your computer's USB port. If you happen to have proper drivers for it, whenever you run your application from Eclipse IDE, you will be asked if you want to run your application directly on the device. Make sure you enable debugging on your device.
With iOS, it's also fairly easy. Just plug your iPhone/iPad/iPodTouch to your Mac, launch XCode and select device before pressing run. You might need to create a provisioning profile for it (you will need a Apple iOS Developer Account for this).
I don't think you will ruin any device just by following (and installing) tutorials from the net.
For Android: Yes, you can run the apps directly from Eclipse or Netbeans on your device, works exactly as with the emulator. To make real apps you have to test them on real devices!
You wont destroy your device. Read the Android SDK "getting started" stuff.
Can't really say about iOS though.
You can always buy a second hand cheap phone and use it.
I started developing apps in the Android emulator and I was surprised about the big difference between the emulator en a real device, which really made it worth to buy one of these terminals.
I am looking for a way (maybe impossible) to test my PhoneGap Android application on different phones / hardware. As I am able to obviously test it only on my phone, but some people are reporting that my app doesn't work / crashes / explodes on their phone. Is there any way how can I test my app on different phones without buying actual device ? Maybe virtually like running Android in an emulator or somehow ?
It is kind of frustrating knowing that the app works perfectly, but some people are not able to even start it...
EDIT: I am certainly testing the app in Android emulator, but that only helps to test on different Android versions. But I am looking for a way how to test in on different phones without actually buying it - if it is possible ?
There is a company called DeviceAnywhere: http://www.deviceanywhere.com/ that seems to be doing that.
But it may cost you. If you don't want to buy all those devices, somebody else will have to. Plus they have to build the infrastructure to support remote access. Does not sound like something you would get for free.
Like DeviceAnywhere, there is another company that will let you test your application on multiple hardware devices. It https://appthwack.com/ . They do have 100 mins of free plan to test out, so go ahead and try this out.
You can run it through the emulator that is provided with the Android development kit through Eclipse. But this will only help test the code on different versions of Android not necessarily on the different hardware so if it is really a hardware problem this will not help but if it is related to the different versions of android this should help you find the problem.
Here is information on the emulator and how to use it: http://developer.android.com/guide/developing/building/building-eclipse.html#RunningOnEmulatorEclipse
I really want to get into Android programming but I only have access to company resources right now. I have the money right now to purchase a XOOM or a development laptop. Is it possible to compile Android apps using the command line on the Xoom while using other apps to write the program files.
What would seem like a dream environment would be if I purchased a XOOM and a BlueTooth Keyboard. Am I dreaming? Developing using older Android devices was naturally limited by the screen space of the device and the underlying hardware also.
No, as far as I know, you cannot develop Android applications from within Android. You will need a Windows, Mac, or Linux desktop environment to develop Android applications. Visit the Android Developer site for additional info on the SDK.
Go for the development laptop, and test your applications on the emulator. Initially you can get friends to test them out on their android for you, and hopefully by the time you make something important enough you will be able to afford your own android.
Check out AIDE. It can build and deploy apps natively on Android.
Google doesn't have a version of the SDK that runs on an android device, although as devices become more powerful this would be a pretty awesome thing to have.
You'll want the laptop, since it can emulate different android devices.
Buy the laptop and get a cheap phone on craigslists.
Although, the XOOM emulator doesn't work at all, so if you want to develop specifically for that tablet it's a good idea to buy it. It's impossible to emulate android 3.0 on any computer on earth :)
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I've been intrigued by all the android world since I first learned about it and would like to get my hands dirty developing for it. The question that comes to mind is if it's worth buying the unlocked phones that Android sells directly or not.
Those phones (link) quoting the Android page:
Run and debug your Android™
applications directly on a device.
Modify and rebuild the Android
operating system, and flash it onto a
phone. The Android Dev Phone 1 is
carrier independent, and available for
purchase by any developer registered
with Android Market™.
Please note that this device is
intended for development purposes, and
may not include certain features found
on consumer Android devices.
So will it be worth it to purchase one of those as a tool for app testing as opposed to developing and testing just on Eclipse or one of the other IDEs and emulators.
-Have you tried it, do you own one?
I'm assuming they have the same specs as the HTC Dream and the HTC Magic, since they look exactly the same although they have a 'developers edition' custom black design not that I really care about the design for this particular item.
All comments are welcomed,
Thanks in advance.
Update:
I'll leave it open until tomorrow to see if there are any more answers, then I'll just pick the most voted since it's really a subjective question with no good or bad answer.
It depends what sort of applications you wish to develop. I find that the emulators very accurately reflect how things work on genuine devices; you can seamlessly connect to either an emulator or a dev phone using the command line tools, the Eclipse tools, the debugger etc.
Also, while you can flash your dev phone to a new OS version, HTC often lag behind (e.g. there's still no 2.0 image available) and it's much easier and faster to just use the emulators. The emulators also allow you to create and test with different screen resolutions, whereas the two dev phones available are only "standard" resolution.
I find it's quite rare that I need to use my ADP1 dev phone for development -- my rooted consumer HTC Hero works fine for most of the development I do.. allowing me to pull files from the device etc. Though the only reason I use my Hero rather than an emulator is because I've been working on an app that uses audio recording functionality.
However, where having a physical device would help is where you need to do specific stuff regarding the camera, audio hardware, orientation and compass sensors, GPS, wireless network access and so on. Should you need to connect a debugger to work on hardware-related issues like the above, then you would definitely need a dev phone.
Overall, it's definitely worth buying an Android phone for testing and demonstration purposes, but whether it's a development phone is up to your requirements.
If you plan on developing apps that you intend to put on the Android marketplace, it's absolutely critical to test on real hardware. You can get away with developing on the emulator for quite a while, but at some point, you'll want to use a real device.
That being said, you can use any android phone for development. There are some restrictions on locked devices, but if you're simply developing against the SDK, any phone will work. With android, you can install an apk directly on the phone without special permissions, so the only real advantage to a dev phone is that you can install new roms without having to root the phone.
Personally, I'd hold off on purchasing one of the older dev phones. From what I understand, they only support up to SDK 1.6, whereas the Droid and some of the other new phones are supporting SDK 2.0 ++.
Wait for the release of the Nexus One from G. The latest rumors are that it'll be released on Jan 5th. So it's just a week or so.
I think that you need a real android device whether it's the dev phone or another handset but a real phone is primordial. The emulator is great but you can't get an idea about the execution speed of your app until you use it on a real phone.
As said before there are a lot of rumors about the nexus one so wait and see!
As for which phone to buy (assuming you're going to get one) I think ablerman is right. I'd wait until January to see if there is going to be some new hardware available.
With regards to the more general question of should you buy one, I think it depends on what you're doing. For the most part, the emulators are fine. They can emulate GPS (you can even load KML to simulate a path), SMS, phone calls, etc. They cannot however emulate acclerometer/compass/orientation sensor data and actually will crash (actually I believe it hangs...) if you try to run code that relies on it. Also, it's difficult to actually debug phone-call related functionality without the dev phone.
They're good phones, I've used the Dev phone 1 (the G1/Dream) and it's nice. It also is a bit faster than the emulators and if you're writing something like a game, it would be really good to test it on the actual hardware.
All in all, it just depends on what you're writing. They're definitely fun to play with regardless as you can do pretty much ANYTHING you want on them.
Good luck with the decision!
I've been developing with the emulator since June. I've found it to be a very near substitute for the real deal, and it's easier to switch between handset configurations/versions. However, not knowing how quickly my apps will run is a concern for me.
The reason I've personally held off buying a handset is that 2009 was the wrong year to buy one. I have a feeling 2010 will very much be the long-awaited "Year of the Android".
+1 to Christopher and I will add - the emulators are great but having a physical phone will give you instant access to the Android Market to verify publishing, statistics and user comments. I also believe using your own app on a physical phone will help you to develop a better app. You do not need a development phone - but at least one physical phone - absolutly.
FYI. Belgium is one of the few countries where it is possible to buy any mobile unlocked. Indeed, the Belgian regulators forbid the forced bundling.
One more Pros for buying a real developer phone :
HierarchyViewer does not work on user builds (i.e. with devices
available in stores.) This is for security reasons.
See the original thread
Hierarchy viewer can be very useful if you have problems with layout being slow, although I don't think it would worth buying a real Developer phone only for this.
As some people made workaround for that problem : https://stackoverflow.com/a/7801475/62921.