52

Gradle を使用して Android アプリケーションのパッケージ名を変更することはできますか?

一意のパッケージ名を持つ同じアプリの 2 つのコピーをコンパイルする必要があります (市場に 2 回公開できるようにするため)。

4

5 に答える 5

58

あなたはこのようなことをすることができます

android {
    ...

    defaultConfig {
        minSdkVersion 8
        versionCode 10
    }

    flavorDimensions "flavor1", "flavor2"

    productFlavors {
        flavor1 {
            applicationId "com.example.flavor1"
            versionCode 20
        }

        flavor2 {
            applicationId "com.example.flavor2"
            minSdkVersion 14
        }
    }
}

android.defaultConfig.applicationId1 回限りのビルドを行う場合は、フィールドを変更することもできます。

出典: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-Flavor-Configuration

于 2013-08-28T21:30:05.423 に答える
9

Ethan の回答から、flavorGroups と packageName の両方が使用できなくなりました。以下は 2015 年 3 月現在の動作です。

android {
...

defaultConfig {
    minSdkVersion 8
    versionCode 10
}

flavorDimensions "flavor"

productFlavors {
    flavor1 {
        flavorDimension "flavor"
        applicationId "com.example.flavor1"
        versionCode 20
    }

    flavor2 {
        flavorDimension "flavor"
        applicationId "com.example.flavor2"
        minSdkVersion 14
    }
}
}
于 2015-03-06T03:01:05.940 に答える
2

私はフレーバーを使用したくなかったので、buildTypes を使用する方法を見つけました。app/build.gradleファイルを次のように変更してこれを行いました。

defaultConfig {
        applicationId "com" // See buildTypes.type.applicationIdSuffix
        ...
    }

    ...

    buildTypes {
        debug {
            applicationIdSuffix ".domain.name.debug"
            ...
        }
        releaseStaging {
            applicationIdSuffix ".compagny.staging"
            ...
        }
        release {
            applicationIdSuffix ".domain.name"
            ...
        }
    }

これにより、デバイスで 3 つのアプリを並べて表示できます。

これが他の人に役立つことを願っています。

于 2020-02-19T18:25:41.130 に答える