I am designing a product around a NXP Pico i.MX7D SOM, which is officially supported by Android Things. I need to be able to use Google services and would like to use a pre-certified solution to cut on certification/validation costs.
The latest Android developers post about Android Things (https://android-developers.googleblog.com/2019/02/an-update-on-android-things.html) makes me wonder whether Android Things is a viable solution for production.
The FAQ at https://developer.android.com/things/faq suggests that Android Things is either a commercial solution for OEM or a toy platform to play with as a developer.
Where can I find more information about the Android Things platform?
Is there an official place to ask for such information about Android Things?
Related
Do they share the code base and version number?
Does Google release the same piece of code for both and just use different flags for mobile phones and Android Things?
This may be a strange question, as I am particularly interested in Android Application Framework.
Do they share the code base and version number?
From an Android application developers's view point there is not much difference between Android OS and Android Things. I.e. you can successfully deploy an Android app developed for Android (OS version 7+) on a platform running Android Things.
Does Google release the same piece of code for both and just use different flags for mobile phones and Android Things?
No "flags" at all. It's rather a matter of adding new system (C/C++/Java) services specific to the supported platforms with its underlying hardware or removing the old ones, needed for mobile devices and not related to embedded systems. Actually Android Things is pretty much an inheritor of Brillo.
As a quick look consider the following overview of Android Things OS to see how it differs from Android.
With regards to the Android Application Framework, you can expect the vast majority of APIs to be the same on Android phones and Android Things. Specifically, this page details the APIs that are not available:
CalendarContract
ContactsContract
DocumentsContract
DownloadManager
MediaStore
Settings
Telephony
UserDictionary
VoicemailContract
Additionally, a few Google Play Service APIs are not available.
In terms of whether Google releases "the same piece of code for both" the answer is a bit complicated. Android's framework is a combination of a lot of files, some of which only make sense for specific form factors. Different build configurations state what files to include, which to not include, and how exactly to build the correct system image.
I know iOS 7.0 introduced "Managed App Configuration", that makes it easy to support configuration of an enterprise application by a variety of MDM solutions.
Is there a similar thing in Android?
I noticed that in the Google For Work help section it is mentioned, but for the life of me, I could not find how to implement support for it.
https://support.google.com/googleplay/work/answer/6257696?hl=en&ref_topic=6137710
Should I implement "App Restrictions" as mentioned here?
If so, how can I support devices with Android versions prior to Lollipop?
http://www.appconfigforenterprise.org/dev-center.html
There is a website called AppConfig. It explains how it works both in Android and iOS and describes the Development steps. I'm also new to this field, but yes, as far as I know you need to implement App Restrictions.
And here is the Developer Training from Google, about Android for Work.
Hi i want to build an android app using Cross platform tools.
I want to also use googleplaygames services to submit and display scores to leaderboards.
Can anyone suggest me tools with these features apart from phonegap because i already worked with it?
Any suggestions would be helpful.
Have you looked at the popular gaming platforms? These tend to have good support on all the platforms, and have things like sprite manipulation, physics engines, and other features that are needed for making great games.
As far as Google Play Game Services, there are libraries for iOS and Android which allows these platforms to access the game services.
I'd suggest getting a general understanding of how "native" development works - maybe by looking at the developer overviews in https://developers.google.com/games/services/.
Then check out some of the game engines. Two very popular ones that support cross platform deployment are:
Unity - http://www.unity3d.com
Cocos2d - http://www.cocos2d-x.org/
I am sure there are other frameworks out there, these seem to be the big ones.
Support for Google Play Games for each of them can be reviewed at:
Cocos2d: http://www.cocos2d-x.org/hub/124
Unity: https://github.com/playgameservices/play-games-plugin-for-unity
I have an application built with PhoneGap, and I want to send it to my clients with an elegant interface and get feedback. I have used testflight before for iOS, but it is not available for Android or BlackBerry.
I installed HockeyKit on my server. The alpha version of HockeyKit supports Android but there are a lot of files to upload and organize.
Is there any solution that can handle all three platforms - iOS, Android and BlackBerry?
AppBlade supports all three of the platforms you are looking for. To be honest I have only used them for Android, but it worked pretty well for that. I also got some great support from their engineers when I had questions and they also seemed to be fairly responsive to feature requests.
Knappsack sounds like it might fit the bill. It's a mobile application management platform that allows over the air installation of your apps and fine grained control of the users that have access to said apps. It's open source, so you can install it on your own server, but there is also a free tier that may suit your needs.
Can try HockeyApp, but it does not work with Blackberry. It is the best analog testflight.
It's early 2015 now and the solutions listed above either don't exist any more, or aren't free if you have more than a few apps/testers.
The best TestFlightApp.com alternative that I have found is Crashlytics. They support iOS and Android (no Blackberry).
Here's some info on the service: http://www.crashlytics.com/blog/launching-beta-by-crashlytics/
And here you can sign up: http://try.crashlytics.com/beta/
My customers prefer it to TestFlight, and for me as a developer it's also easier because they have an OS X app through which I can upload the archives and invite new testers (TestFlight's desktop app was broken for me).
Another really nice feature that Crashlytics offers is that (if you enable this feature), the OS X app will automatically upload the symbol files. When the app crashes for your testers, you'll get an email (when it's a new issue) and you can view statistics and stack traces of the crashes that occurred.
Does Google offer any support program for enterprise Android development?
Something similar to Apple's iOS Developer Enterprise Program?
A search on Internet didn't yield any results, so I'm wondering if anyone here know of such an existing/future program?
iOS developer Enterprise Program:
1) Distribute Your In-house Apps
2) Test on iPad, iPhone, and iPod touch
3) Receive Code Level Technical Support
4) Get Your Questions Answered in the Apple Developer Forums
1) Android allow to do that, you can choose to allow unsigned app or signed, no matter, simply put you file in a web and allow to the client to download and install it.
2) android allow to do that to test directly in the target machine.
3) meh
4) meh x 2
As a enterprise level, the main problem of Android is the lack of proxy support. Right now, everyone can do a Android program for free and distribute it amongst the corporate users. It is pretty easy to do that without any hack.
Instead, in iOS, you must have a Apple certificate since you must sign every application, plus the fact that you signed application can run only in a specific machine, i.e. you can't copy and pass it freely.
You can try https://www.push-link.com/ . They offer the service you are looking for.
I have recently discussed various Enterprise Mobility functions and Android support for them. You can find the details here.
Visit this link to learn about Google's support for Android enterprise application development:
http://developer.android.com/guide/topics/admin/device-admin.html