我在一家有这个" foo"应用程序在商店,该应用程序是我们的硬件的帮助器,由经销商启发。我们确保该名称尽可能通用 - 以便我们的供应商能够将应用程序作为应用程序进行销售#34;
然而 - 一些转售商确实希望在应用上拥有他们的确切名称和图标。他们愿意支付,我需要做到这一点。
问题:
我还打算以这种方式发布我的应用的测试版。我目前正在使用标准机制,但这意味着测试人员无法向客户展示应用程序(因为它大部分时间没有完成或崩溃)[1]
术语"白色标签"在这里申请......?
[1]在一家小公司工作的乐趣:)
答案 0 :(得分:5)
您可以使用您怀疑的构建变体来执行此操作,但您也可能需要Flavors。
这是一个示例gradle文件,它有多种构建类型和风格。您可以在flavor设置中设置ApplicationId(Play商店中使用的包名称)。
在每种类型/风格中设置签名。您可以添加特定于每种风味的资源,图标,清单等。您甚至可以替换整个类文件,以便客户特定代码仅包含在您正在构建的客户的apk中。
defaultConfig {
applicationId "uk.co.foo.default"
minSdkVersion 14
targetSdkVersion 23
versionCode = 113
versionName = "3.2.3"
}
signingConfigs {
release {
storeFile file("X:\\Android Projects\\Keystore\\MyKeys.jks")
storePassword "MyPassword"
keyAlias "KeyAlias"
keyPassword "itsasecret"
}
}
productFlavors {
Customer1 {
applicationId "uk.co.foo.customer1"
}
Customer2 {
applicationId "uk.co.foo.customer2"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix " Debug"
}
beta {
applicationIdSuffix ".beta"
versionNameSuffix " Beta"
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
signed {
minifyEnabled false
debuggable true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
以下是为每个类型\ flavor添加资源的文件夹结构。在这个例子中,第二种味道被称为"粉丝"。 "主要"默认情况下使用文件夹。每种类型和风味资源都合并到apk(替换主文件夹中的任何相同名称),具体取决于您在"构建变体"中选择的构建。 Android Studio的一部分。
Android Studio将显示哪些文件夹对当前版本有效,如此图片中突出显示的那样。
编辑 - 完整的官方文档可在此处找到:https://developer.android.com/tools/building/configuring-gradle.html