Android Corporate Lockdown - android

Is their an android equivalent to the Apple configuration policy?
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/Introduction/Introduction.html
We are deploying some android tablets (company owned) in a corporate environment and need to lock down specific features in the tablets. Mainly to turn off the camera and the lock which applications can be run. Possibly forcing install of certain applications.

Mainly to turn off the camera
That is supported via the device administration API.
the lock which applications can be run
There is nothing in the Android SDK for this.
Possibly forcing install of certain applications
There is nothing in the Android SDK for this.

Try out android for work..
https://www.google.com/work/android/features/
It should give you ways to remotely administer android devices.
App security
Work apps are deployed through Google Play for Work. IT can prevent
installation of apps from unknown sources and apply app
configurations.

Related

Is it possible to write an unremovable device policy manager for Android?

My goal is to write an application for Android (>= 9.0) which basically offers a device-owner-style control like Google's "Android Device Policy".
The following criteria have to be met:
Zero dependency on Google servers or any other 3rd party infrastructure like existing EMM solutions (MobileIron et cetera)
The user should not be able to remove or disable the app
Provisioning methods: QR-Code, NFC, URL, ADB, actually any "local" way ...
Has to work with stock androids on regular consumer devices
In short: I'd like to write an unremovable device manager (including a web-based management UI), put it on a device I own, give that device to someone else, and being able to fully control the device remotely.
Is such a project even possible with the current situation of Android?
No.
Has to work with stock androids on regular consumer devices
Mostly, this is your biggest hurdle to overcome.
What you are asking for is the description of a very powerful MalWare. An app that ca run on any version of Android, that can't be uninstalled, but can do what it wants to "fully control the device".
If you move away from the idea of "stock android on regular consumer device", towards a suite of devices you have some say in distributing:
Here is a list of Google Partners who offer an EMM solution: https://androidenterprisepartners.withgoogle.com/emm/
Here is Samsungs effort at device control:
https://www.samsungknox.com/en
Here is Googles device management:
https://developers.google.com/android/management
You could write your own ROM of Android and be able to control the things you want, but that would require .. building a ROM aka a whole phone OS forked from AOSP.
The user should not be able to remove or disable the app
This is only possible if you have a system app.
Or something extreme (which with any extreme, is always possible to have problems), like having two apps, and they monitor each other for uninstall, and programatically reinstall (vs 1 app that can't do much when it is being uninstalled).

Accessing/Upgrading/Clearing Mobile Devices: MDM

We are building an enterprise focused mobile application.
To take this app to the market we need to figure out how to remotely
a) upgrade / wipe the application on mobile devices
b) get access to the device for support and troubleshooting
I guess mobile device management (MDM) applications like AirWatch or
MobiControl can do this job. But they are expensive and do a lot of
other things which we are not interested in.
Is there anything else in the market that is especially geared for
mobile application developers to add the above features within their
application?
*Addition:
We are working on iOS and Android for now.
iOS
Install/Upgrade
On iOS you can use MDM API to install and upgrade apps. However, there are multiple gotchas
A user has to accept it
If the same app is preinstalled by user, you won't be able to install it/upgrade it through MDM
Wipe
You can wipe only whole device or you can remove an application which will remove it's data. However, you can remove only apps which was installed through MDM
Get access to the device for support and troubleshooting
If you are talking about remote desktop like capabilities then you are out of luck. You can't remotely control it. However, you may be interested to look at airplay mirroring.
Android
Install/Upgrade
Look at this: Android: install .apk programmatically
Install Application programmatically on Android
Wipe
You can use device admin capabilities for this: http://developer.android.com/guide/topics/admin/device-admin.html
Get access to the device for support and troubleshooting
I am not sure.
Obvious self-marketing :)
Can you contact me by email (I have it in my profile). My company does a lot of things which you are interested it. May be we can find interesting opportunity for a cooperation.

Do I need the "Android unlocked dev phone" to test my android projects?

I bought an Android phone to use Flash. But to my surprise, Flash does not run on Android devices with arm v6. But I do want to make something useful and develop for it. Does it need to be "unlocked" for this purpose?
Not at all, you can develop Android applications on any Android device. Just make sure that if you want to make use of Google APIs that it's a device that supports those APIs. Also, you'll need to enable development under Settings --> Development (I believe, the location actually varies depending on the version).
Nope, just download the SDK and go. All current phones (that I know of) allow you to do debugging on-device.
If you are developing using the Android SDK or NDK, any phone with Android Market is required to be able to be used as a developer device. If you are trying to develop IN Flash, then you will need a phone capable of Flash (Motorola Droid, any Snapdragon or better processor device) but on Android I don't believe there is a way to package a Flash app onto the device, and the Flash app is always run in the browser.

Are there Android phones that cannot be used for app development?

Is it true that ANY Android phone can be used for App development and testing?
I'm trying to find some inexpensive off-contract hardware for development and testing of our Apps. I've found some devices I can buy New with No Contract for $150 to $300 (like the HTC Aria or the Huawei Ascend). Is there anything that would prevent me from using these devices for USB debugging and app testing? I guess I'm concerned because I've read how the HTC Aria has been locked down by AT&T to limit applications. I suspect this won't affect me loading apps using ADB, but I'd like to be sure.
Yes, you can use any phone for testing applications via the Android development tools. This includes the HTC Aria of what I've read.
You can read more here: http://developer.android.com/guide/developing/device.html
And it is not true what Sam Dufel wrote. A developer phone have messaging and phone features. It's just as any other ordinary unlocked phone. The only difference between the dev-phones is that they have unlocked bootloaders so you can install and customize your own Android-system and install it. It is rooted by default.
Google actually sells development phones - after you create a developer account, they give you an option to buy one of a couple different models. You don't get any messaging / phone features though, obviously.

Android applications from unknown sources

I don't know if this is programming-related (much) but I've recently started playing around with writing my own applications.
My phone is running cupcake/1.5. There is no "unknown sources" option, anywhere, at all. Carrier is AT&T.
Does anyone know how I can overcome this issue?
I you are writing applications, you have installed the SDK... the eclipse debug install mechanism should work, so should 'adb install whatever.apk' Even on AT&T.
If you didn't have the sdk, you could get "sideload wonder machine" which is a packaging of a small part of the SDK capability for non-technical users to enable them to install non-market apps in the way you can with the SDK.
You may have no recourse unless your phone can be rooted; AT&T locks down many of their phones and prevents installing non-Market apps. In their words from their Q&A:
Q. Why can't apps be installed from sources outside of the Android Market?
A. Android Market, managed by Google, is open to all developers. There is no approval process for applications, they are all accepted by default and Google has stated that they place apps in the Android Market within 24 hours of their submission. AT&T selected Android Market as the exclusive source for applications because it forces developers to be accountable for the apps they submit. If the Android community has issues with an app, the app can be flagged and removed. This minimizes the risk of malicious apps harming customers and provides more protection to the customer’s private data stored on the phone.

Categories

Resources