mister-f
mister-f

Reputation: 440

Install "dev" build of Android app along side market version

I just released my first Android Application through the market. I'm currently working on some new features for the next release and would like to install this "dev build" on my phone, without uninstalling the "production" version (among other things, this will stop future updates from the Market).

I'm especially interested in this because I'd like to give the APK to friends / "beta-testers" to try, but I don't want them to uninstall the released application first.

Is there anyway to have on one device two applications: "App (via market)" and "App (DEV)"

Would this involve using a different signing key or modifying the manifest in someway?

Thanks!

Upvotes: 10

Views: 2734

Answers (2)

Marcus
Marcus

Reputation: 12586

Using Gradle this is very easy. Here's an excerpt from one of my gradle files:

android {
    // ...

    defaultConfig {
        resValue "string", "app_name", "<app name>"
        // ...
    }

    buildTypes {
        release {
            // ...
        }
        debug {
            resValue "string", "app_name", "<app name> (debug)"
            applicationIdSuffix ".debug"
            // ...
        }
    }
}

The key part for allowing another installation is using the applicationIdSuffix that is set in the debug build. Under the hood this basically does the same thing as proposed in Force's answer; it changes the application id of your app.

Setting the resValue app_name allows us to have different app names as well, this makes it much easier to keep track of which installation is which (since both application would get the same name otherwise).

Don't forget to remove the app_name from your strings.xml and fill in your own app name instead of <app name> if you decide to set the app_name in the gradle file like I did above.

Upvotes: 8

Force
Force

Reputation: 6382

You can simply rename the package, so both apps are installed.

You need to change the package name in the manifest as well as in the source folder. Use Eclipse's refactoring for it and it will be done in a minute.

They don't need to be signed with the same key.

Upvotes: 7

Related Questions