What are the next Android smartphones to be compatible with ARCore?
Is there a known list of future compatible devices yet? Maybe a general project schedule?
We are about to purchase some units for AR development assessments, at first we thought about trying one of the Tango devices out there (we already had a good experience with Tango), but our current bet is that the ARCore platform will beat it in terms of market share.
Currently, the compatible devices are only:
Google Pixel
Samsung Galaxy S8 (the non-plus version)
But obviously, we would prefer to choose from a wider variety (e.g. S8+, G6...)
I know that there is a known hack to make it work on other devices, but it is better to start on the right track with a compatible one while we still can.
Also, is there a way to run ARCore on emulator that connected to webcam?
For test purpose.
(I don't think this answer deserves the bounty, and I also don't think you'd get a worthy one any time soon. But let's roll anyway:)
So I did a bit of a research as to why are these the only devices supported. It's a tough question to answer of course, but we can speculate.
I read through the reddit on the subject (among other sources) and it seems that ARCore does not require some special hardware, but it does require a "calibration profile" per each specific set of camera, sensors, and builds. I.E. each device.
I've found this Medium article about what Apple had to do in order to calibrate their own ARKit coupled with some speculation about Google's calibration process.
WOW! Turns out it's a really heavy task. And it seems that Google has chosen these devices specifically because they've already undergone some initial calibration for other purposes. So it's even harder to start the calibration from scratch.
OK... So?
So... There seems to be mixed news here:
The good news is that ARCore does not rely on some fancy new hardware platform with some fancy new standards that are gonna be hard to enforce in an already highly fragmented market.
The bad news is that unless an automatic calibration process is invented, each device SKU needs to undergo a costly, lengthy and manual process. It's very hard to estimate the costs involved, and even harder to estimates the rewards.
Which brings us to where we started: My guess is that device manufacturers will not be quick to jump on the ARCore bandwaggon. Yet.
It seems that it's gonna take some time before you'd get a reliable answer to your question.
The current list of ARCore supported device manufacturers and models can be found here:
developers.google.com/ar/discover#supported_devices
To your last question around testing on the emulator, as of this week, you now run ARCore in the Android Emulator with a virtual AR camera:
https://developers.google.com/ar/develop/java/emulator
When you are using Android Studio 3.1, and Android Emulator v27.1.10, just create a new Android Virtual Device (AVD) for the Android Emulator that targets Android 8.1 Oreo (API 27) and verify that the back camera is set to Virtual Scene.
You will get the current list of ARCore supported device manufacturers and models below link.
ARCore Supported Devices
Here is a list of ARCore 1.4 Compatible Devices (last updated October 19th, 2018).
Related
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 6 years ago.
Improve this question
I'm in the market for a basic Android device. My main reason for buying one is for learning to develop mobile apps. While the Eclipse IDE offers a virtual Android device for testing apps, it's not the same thing as a real Android device and won't put me on the same wavelength as Android device users. (The most obvious example: Visibility is poorer in a bright outdoor environment than indoors.)
Some questions:
Is a tablet PC the type of device I should get? I get the impression that it's more versatile than other devices. I don't need a smartphone, because my dumbphone works well for me, and I don't even use it that much. And I HATE the idea of being locked into a specific wireless provider. I'm not interested in ebooks, because I still like books on paper better.
Should I get a device with Android 2.3 or 4.0? On the one hand, over 90% of current Android users are using version 2.3.3 or earlier. On the other hand, 4.0 is better and will be gaining market share. (Would buying an Android 2.3 device now and buying an Android 4.0 device later be my best bet?)
In addition to wifi, what else should I look for?
Are there any brands/models I should avoid? I remember hearing that the Packard Bell PCs were the most unreliable. The Yugo was a terrible value. (An old Oldsmobile Cutlass clunker was a better value - at least as reliable but MUCH cheaper to buy.)
Is there any point in buying used? The listings on Ebay and Google Shopping don't show the used tablet PCs to be that much cheaper than new ones, and there are more new tablets than used ones available.
Ebay listings currently (5-23-2012) show over 200 Android 2.3 tablets selling for $55-$90:
http://www.ebay.com/sch/iPads-Tablets-eBook-Readers-/171485/i.html?Operating%2520System=Android%25202%252E3%252Ex%2520Gingerbread&LH_BIN=1&Internet%2520Connectivity=Wi%252DFi%7CWi%252DFi%2520%252B%25203G%7CWi%252DFi%2520%252B%25204G&_nkw=android+2.3&_dmpt=US_Tablets&rt=nc&LH_ItemCondition=1000
Ebay listings currently (5-23-2012) show over 200 Android 4.0 tablets selling for $83-$107:
http://www.ebay.com/sch/iPads-Tablets-eBook-Readers-/171485/i.html?Operating%2520System=Android%25204%252Ex%2520Ice%2520Cream%2520Sandwich&LH_BIN=1&LH_ItemCondition=1000&Type=Tablet&_pppn=r1&_dmpt=US_Tablets&Internet%2520Connectivity=Wi%252DFi%7CWi%252DFi%2520%252B%25203G%7CWi%252DFi%2520%252B%25204G
What do you think?
This question is probably off topic.
But here are my thoughts:
If you want to develop the truth is you should try to have access (be it ownership or just access) to any devices that you intend to support with your applications. This is certainly not possible for everyone, but there are ways that you can maximize your value while building a device collection by aiming to hit the largest swath of different types of devices.
You have no obligation to be locked into a contract (or even any service) for a telephone. If you go to a carrier store you can purchase a device at full price and leave the store without activating any service on it (In general, subject to change at the whim of whatever store you are in =) If you intend to by a phone for full price expect the range of prices to be $380-$600. From what I can tell about your situation I would think that a phone is best route for you to start off with. In addition to being able to buy from a carrier, Google also from time to time directly sells a "Nexus" device which is released with stock(ish) android OS (no skins etc..) The current device in this line is the Galaxy Nexus which is being sold directly through the (former) Android Market That is a good choice because it is more or less the latest generation of hardware, and the newest OS (these Nexus devices tend to receive their OS updates in a more timely manner than carrier tied devices). In fact the first Nexus device was marketed heavily toward developers, this line of phones was meant to be used for development.
Is a tablet PC the type of device I should get?
If you intend to create applications for tablets then yes. If you intend to develop phone applications you should really be testing on a phone.
Should I get a device with Android 2.3 or 4.0?
Ideally both on different devices. If you must pick one, then it depends on your budget 4.0 is only on the newest devices right now so they are likely going to be more expensive than some of the devices you can find with 2.3. (although $399 for the Galaxy Nexus might be hard to beat in price, even for some of the 2.3 devices for sale)
In addition to wifi, what else should I look for?
On phones that can be readily purchased in the US your choices are basically boiled down to only a few things. Screen Size (anywhere from tiny to pretty damn big for a phone), HardwareKeyboard(in a few different shapes and sizes), Camera (if you care about it). In general most of the other features are fairly standard (i.e. bluetooth, gps, accelerometer, etc..) The other thing to consider would be "Oomph", despite being called phones what people are carrying around today are small computers. They have CPU, GPU and RAM just the same as PCs. Battery life is the last major divisor, there is a fairly wide range of battery life expectancy (hint, massive screen and multiple cores need lots of battery). However since you don't seem to want to use this device as your phone some of this stuff may not matter as much to you.
Are there any brands/models I should avoid?
Anything in the list of your first ebay link. In general (in the US) the major phone manufactures are: HTC, Motorola, Sony, LG, Samsung. There are many other devices out there that are nice as well. But these guys are generally the ones consistently pumping out the most used phones. Idealy you should aim for a spread of device's made by different manufacturers. The custom skins and addons they like to use in their versions of the OS tend to like extra testing. Having one of each will help you help the largest chunk of your users.
Is there any point in buying used?
There are good deals to be had on nice but slightly dated phones. If you don't know what you are looking at I'd stay away though, it could be easy to get ripped off.
Well it does not seem like you need a very expensive device. Guess you could buy Google's and Samsung's old Nexus S which is not the newest around but still has android 4 because it's Google's "offcial" or something. And since it rolled out with 2.3, you should be able to download the old version somewhere and flash it. That phone should be cheaper, especially second-hand.
I mean since there are so many devices with different screen sizes and all you can't really find one that will reveal what other device-users will think of your apps.
Carrier options should be a non-issue for development. You can buy any Android phone for any
carrier including unlocked, and that should not affect your development flexibility.
Get the lowest version you can have. 2.3 and 2.2 have the most market shares right now. There is no reason to get 4.0, unless you are developing specifically for Android OS 4.0 and above (meaning that you actually use API that only exist on 4.0 and above and not lower).
Your development platform also affects what phone model to use. If you use Windows, get a phone that comes with Windows drivers. It'd be a bummer to buy one only to find out that Windows can't detect it. Mac and Linux do not need drivers, as they are both UNIX based.
You should get a phone. If you don't want to use it you don't have to... but most likely the majority of your users will be on a device. If you want a device that is always up to date and is great for testing I recommend the Galaxy Nexus.
Since most Android phone users are not on the most up to date os version, I prefer testing on a phone with 2.3
If you temporarily need a phone to test your app, Sony Mobile developer program has a phone loaner program in US and Canada where you can borrow a device for up to 30 days.
http://developer.sonymobile.com/wportal/devworld/phones/borrow-a-phone
/Magnus E
Sony Mobile
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 9 years ago.
Improve this question
I'm going to be writing my Android app soon, and thinking about buying a solid android device to develop on and play with. My question is for you guys, assuming you wanted to develop and test your app on an Adroid device, what would you recommend?
Samsung Galaxy looks promising, but I know choosing a good dev phone is one of those things you definitely need to choose wisely on. The Android device landscape seems to be broadening every day, so it'd be good to hear about the latest devices for developing. Perhaps I could just get a cheap clunker and it won't make a difference?
I'm sort of a nerd, so if the device is pricey, but has some cool features that others don't, then I'd still consider it. However, I don't want to waste too much money on features that I may not need (or that may distract me ;)), like HD video, although it looks like a lot of phones have HD support anyways.
Tablets seem a bit much, but I'm still open to it... if you're loving your Android tablet for developing, let me know about it. I could see some benefits like being sure my app will run on Android tablets and different resolutions.
Any caveats I should be worried about? I have a buddy who was developing Android when it first came out and I remember him complaining that he could never update his device, since the updates were always restricted for some reason. Is that still the case?
If you can speak to any of these points, I'd be happy to hear them.
Also concerned about using the location based stuff, like gps, will I need a contract?
I'll be developing on my Macbook Air OSX, if you have any additional input as far as devices go, and using a Mac, that would be great too. Thanks!
You should develop against the Android 4 platform, but during the course of development, you will figure out which APIs you are using. The level of APIs you are using determines which minimal OS you will support. There's 2 manifest settings in play here: target API (15 aka ICS), and minimal API (depends on what you use).
To get a good mix of API support and broad coverage in the consumer market (using the dashboard that #Basic pointed to), I tend to point people at API level 8, which is Android 2.2 (aka Froyo). You'll hit roughly 93% of people out there and you'll get the APIs you need for most development. If you know you need newer APIs, by all means use them. The world will catch up, it may just take some time.
I typically point people to get a Nexus phone or XOOM tablet. You need the reference design so you can stay on top of the official releases from Google as quickly as they come out. The AOSP builds are important to follow, but they aren't the only game in town. After that, if you want to be serious about it, you should pick up one phone each from the major OEMs so you can deal with the differences in the customized platforms (Sense, Blur, Touchwiz, etc.)
Disclaimer: I work for Motorola. MOTODEV Studio is my teams' product (thanks Basic!)
Samsung Galaxy Nexus, Good because it is a phone that is supported directly from Google.
Samsung Galaxy S2, it just has all the features you need
One of those two for spec heavy phones, but you also need a cheaper not so good phone so you can get both ends of the device range, so get something like a IDEOS as well.
All you need to remember is that there is never going to be just one type of device being used, there are hundreds, if you have a phone thats close to the bottom and your app works almost as well as a phone as the top it will be good, because you will be able to catch the whole range of customers.
Also for location based things all you need to do is put permissions in the android manifest and it should be good, users are notified about these when they download the application
Mac can be good for development, its supported by Android as well so I dont think you will have a problem, when I went to the Android devs lab it seemed to be that all the Google guys had macs anyway
It depends what you want to support. There's a whole spectrum from the HTC Wildfire up to Galaxy S2 / HTC One.
What versions of Android are you going to target? Some people are still on 1.5!
Regarding updates: Google releases updates at their own speed. The problem is that before that update reaches a given device, the carrier usually customises it to include branding, mandatory aspps, etc... Which can take an indeterminate length of time or may not happen at all. This was one huge benefit of the Nexus One - it wasn't branded so updates were available as soon as they were released.
Regarding Development: eclipse is available for almost every platform and is a great starting place. MOTODev Studio is based on eclipse and is excellent as it comes with templates, pre-configured emulators, etc...
Location Services: Android uses 3 approaches to get your location: GPS (Works poorly indoors, can be slow to get a fix, quite a battery hog), Wifi (Google have mapped the location of a lot of wifi networks - thus if it can see a known wifi network, it knows roughly where it is) and finally network (It knows the location of the cell tower(s) your phone is talking to).
None of the above needs a contract but Wifi requires an internet connection (to perform the lookup) and Network obviously requires your phone to be in range of and allowed to talk to a cell tower - which usually just means getting a sim for a network which covers your area.
Note that when getting location on the device, you can opt to have coarse of fine-grained location information. Coarse doesn't fire up the GPS (They also require different permissions)
See this page for more info about location
Personally, I would recommend the Toshiba Thrive 10.1 Inch Android Tablet.
It has:
1 GHz Nvidia Tegra
1 GB RAM
Full Size USB Port
Full Size SD Card Slot
Full Size HDMI Port
Mini USB Port
Can be upgraded from Android 3.1 to 3.2 or 4.0
And it usually only costs about $200-250 depending on how much memory you want.
First off, sorry if this is too subjective, I just didnt know how else/where to ask.
Anyway, in the light of all my recent questions, I'm getting ready to release an Android app soon, and most of the testing has been done on my phone, the Droid. I really dont have the money to test on "multiple" devices, nor do I know anyone with an older phone that I could ask for help that would possibly get any kind of bug. Not to mention, when I do get a bug report, how would I go about fixing it for that particular phone without having to buy it to make sure it actually gets fixed, or that the person didnt just came across a one-time freakish accident of a glitch?
How do you guys solve these kinds of issues?
You can test the vast majority of issues via the emulator:
Check out this data on platform versions and screen sizes to get an idea of what configurations you should test for.
Based on that data, I'd test at least one configuration with API versions 1.5, 1.6 and 2.1, and versions with medium and high density resolutions.
If you wanted to test physical devices, I would guess that the G1 and the Droid would be the top two... G1 would give you the lower API versions, and Droid would give you the 2.1.
Depending on your application that may be sufficient. Applications that make heavy use of OpenGL extensions might need to test further, since that is the area where there is the most difference from device to device. I don't think that the emulator is sufficient for that. See this thread on the differences.
Other than that, I would just send out a demo version of the app to a few friends or an appropriate forum. If you find problems once you launch, collecting log data from users having problems can be very helpful. I wouldn't worry too much about device specific problems though, I don't think they are that common.
Disclaimer: I'm a Motorola employee in our developer services team. I don't speak for other OEMs.
Cover the range of devices that are enumerated in the "supports-screen" manifest element. Also, take into consideration when compatibility is mode on and off. Screen sizes and market filters seem to me to be the biggest things that trip developers up. Some of this you can test with the emulator and others you need real hardware.
OEMs provide SDK "addons" that allow you to run emulator images with the skin and screen size/density of their devices. Download addons from the OEM's developer sites. Motorola's addons are available at developer.motorola.com. HTC and Samsung do the same.
A commercial alternative is Mob4Hire. They have real people on real networks who can test your app for you.
Good luck
I have few friends wich have different android devices. Before app publishing I give it to them for tests. Sometimes any users submit bugreports to market, sometimes sends it to you by email. There is impossible to have all android devices and test own app on it. This is ok.
It might be worth having a look somewhere specialist such as http://www.xda-developers.com/
They've got a sizeable community there of reasonably knowledgeable people and its not uncommon to see people posting betas of apps there for consumption and feedback. There are also dedicated subforums for each phone which may assist when attempting to resolve problems on certain handsets.
Using this library, ZXing, we have a project at school in which we'll implement a inventory system using Android phones.
We aim to use an Android phone to be a inexpensive replacement to this:
I've read some of the warnings on the FAQ for certain phones. Is there a specific phone that Android developers prefer (with use of the ZXing library in mind)? We have to buy the phone ourselves, so we would prefer not to buy the wrong phone!
You want phones with auto-focus capability on their cameras. Some of the smaller/cheaper phones, like the HTC Tattoo, have fixed-focus cameras. Some tablets do not have a camera at all. Most Android phones have auto-focus cameras, AFAICT. Certainly, every one I have used has had one, and I have quite the collection at this point.
I'd watch out for phones running Android 1.x, not because of any ZXing problems, but if you are going to spend money, I'd invest in an Android 2.x device. One advantage of the Nexus One cited by Blumer is that it will get new Android releases as fast or faster than any other device.
Beyond that, and beyond specific problems cited on the ZXing site, anything should do, if it works with your carrier, is a color you like, etc. :-)
Developer here. The single factor that really makes barcode scanning easy is an auto-focus camera. Resolution, CPU, etc. don't matter. The library can work with any version of Android but 1.5+ is recommended.
So, just about any used Android phone ought to be fine.
Follow up at http://groups.google.com/group/zxing .
I don't know that there's necessarily a "preferred" developer phone, but the Nexus One is the official developer phone as endorsed by Google: http://android.brightstarcorp.com/index.htm . Despite being kind of a business flop, it's a very nice phone, and it's hard to imagine how you could go wrong with it for development purposes. Since it's put out by Google, it should support everything there is to support, and it's not mentioned as having any issues in ZXing's FAQ.
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.