I have developed an media app for android phone. I have to make that app compatible for android automotive (not auto). Can anyone please explain the steps required for this. I have checked the Android AOSP site, and my app does not require the car or the other apis mentioned on that site. (I don't know if those are required to make the app compatible)
I don't think that there are any rules or constraints for implementation for Android Automotive provided yet.
There is a list of criteria for designing apps for Android Auto:
https://developer.android.com/docs/quality-guidelines/auto-app-quality
I would assume that for Android Automotive some of the criteria will be also applied as they concern UI and functionality from the driver's perspective.
NOTE: I think some guidelines might be defined soon since Google is finally going to support Android Automotive in Android Studio (similarly as they did for Auto).
For design guidelines, please refer to g.co/automotive-design
For technical/testing guidelines, please refer to https://developer.android.com/training/cars/media/
For playstore review / quality guidelines, they are not published yet
Related
I'm talking about the usual ConstraintLayout or LinearLayout from Android development for mobile phones. Is it possible or allowed to create and install an app built like this on the Android Automotive OS (not Android Auto)?
If the answer is yes, do you have any documentation regarding this or project examples/samples?
Publishing the app on the Automotive Store is not important for me, Google wouldn't allow this anyway. I just want to be able to create a very custom app for me or a possible OEM.
I know there's an Android for Cars Library but it's not even working for AAOS at this moment, only for Android Auto.
Yes, you can create and install normal Android apps that use common layouts on the AAOS Emulator. You may not be able to upload these apps on the store but an OEM probably can install any apps it wants.
Check the 'A Better Routeplanner' app, it was uploaded by Polestar on the AAOS store and it probably uses the UI layouts you mentioned considering how custom and similar it is to the mobile version.
https://play.google.com/store/apps/details?id=com.polestar.abrp.production.android
It depends on the user specific case, i.e. Is it going to be using navigation or radio for example.
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.
When submitting an Android app to the Blackberry App World for compatibility, it says my app uses features that are not compatible with current version of Blackberry Runtime for Android Apps. What should I do?
There is quite the list of unsupported features on Blackberry's site.
If they won't give you more details on what you're using that's unsupported, that list is a good starting point.
There are also some downloadable tools that can help you verify things locally and possibly give you more details on what's wrong.
There are similar questions like this uptill Android 2.3 sdk on Stackoverflow. But as per the answers it was not supported back then. I have even seen a feature request ticket for it with Google but it is still pending!
With the recent release of 4.0 sdk, does any one know if it is now possible to simulate the multi-touch feature in the emulator? If yes, please do information on how to do it.
Thanks in advance!
Multitouch in the emulator is still unsupported and has not been announced as a planned feature. This would most likely come as an update to the SDK tools and not the operating system itself so the Android Tools recent changes feed is probably the best place to follow for any news on this feature.