2

我有一个核心产品(例如School core)现在我需要为 2 所学校(例如School ASchool B)启动它。唯一不同的是应用程序图标启动画面。我尝试通过风味来解决这个问题。我们知道要上传到谷歌游戏商店,我们需要不同的包名,所以我被困在那里。

我的味道是这样的——

productFlavors {
    main {
        applicationId "net.school.main"
        versionCode 7
        versionName "2.12"
    }
    schoolA {
        versionCode 2
        versionName '1.01'
        applicationId 'net.school.schoolA'
    }
    schoolB {
        versionCode 1
        versionName '1.0'
        applicationId 'net.school.schoolB'
    }
}

当我运行风味学校A时,它说找不到包。我正在寻找最好的方法,以便将来可以通过最小的更改添加任何新学校。

4

2 回答 2

0

不幸的是,您不能为不同的口味更改包名称。

每个 Android 应用程序都有一个唯一的应用程序 ID,它看起来像一个 Java 包名称,例如com.example.myapp. 此 ID 在设备上和 Google Play 商店中唯一标识您的应用。因此,您可以重新定义完整的 applicationId 属性,也可以使用 suffice 将段附加到默认应用程序 ID applicationIdSuffix。更多详情请参考官方文档

于 2018-05-27T03:44:05.187 回答
0

你解决问题了吗?

就我而言,它工作得很好。试试这样

buildTypes {
        release {

        }
    }

flavorDimensions "main"

productFlavors {
main {
    applicationId "net.school.main"
    versionCode 7
    versionName "2.12"
}
schoolA {
    versionCode 2
    versionName '1.01'
    applicationId 'net.school.schoolA'
}
schoolB {
    versionCode 1
    versionName '1.0'
    applicationId 'net.school.schoolB'
}
}

现在您可以将应用程序图标放到 src/scholA/res/ 标准文件夹中,例如 drawable 或 mipmap。并使用 Build Variants 来调试或发布每种风格。

于 2018-08-09T13:06:14.413 回答