How to run android CTS test case?

What are ways to run a private beta test of an Android app, ensuring that unauthorized users cannot install the app?

  • My company would like to authorize some internal users, and later give advance copies to the press, but we want to ensure that the app does not find it's way onto any unauthorized devices. I know that in iOS there are ways to control distribution based on the UDID. Something like that would be ideal, but I'm not sure how that translates to the Android world, or what other ways exist to accomplish the same goal. I know we could just email the beta copy to a select handful of people, but they could easily forward it from there. We could host it on our server, but would rather not go through the hassle of setting up a server with authentication just for this, if it can be avoided. I imagine we could write some kind of check into the app that includes a hard coded list of approved devices and blocks all other devices, but that seems a bit heavy handed, and I would expect an existing solution to already be out there. We can't be the first to want to do this. Thanks!

  • Answer:

    I've seen this done a couple of different ways.  The closest analog to UDID in the Android world is ANDROID_ID.  It's not a perfect comparison, because UDID is immutable and ANDROID_ID can change, but it's pretty close. The easiest way to run a closed beta on Android, IMHO, is to maintain a list of email addresses (or some other user identifier) and ANDROID_IDs on a server you control.  When your main activity launches, start by displaying a simple dialog asking the user to enter an identifier.  Check the identifier against a list of white listed identifiers and then store the ANDROID_ID (or hash).  On subsequent launches you check to make sure the user identifier is coming from the same ANDROID_ID (limiting them to a single device, you can also allow multiple devices if you want). Another fairly common way is to use Google's License Verification Library (LVL) to limit access to the app.  http://developer.android.com/guide/market/licensing/index.html http://developer.android.com/guide/market/licensing/adding-licensing.html#impl-lc Using Google's LVL, you upload your app to Google Play and the specify a list of of test accounts that can access your apps.  The test accounts are per Google Play developer account, so they'll have access to all your apps.

Loren Donelson at Quora Visit the source

Was this solution helpful to you?

Other answers

We at http://www.betaglide.com ensure this on our common distribution platform. We are working on a feature which needs a beta user to enter an authorisation key to download the app when they try to download it. This ensures only people in your list download the app. Currently are in  private beta. We capture information such as CPU  Usage, Memory Usage, Events, Session Recording, User touch data, Logs  and events as a beta user uses the application.

Amritanshu Anand

Applause (http://www.applause.com) has a Mobile Beta Management product which can be configured to require a login to access an Android beta app.

Christopher Richins

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.