您可以构建变量做到这一点,你怀疑,而且你可能会需要香精的乐趣。
这是一个具有多种构建类型和风味的示例gradle文件。在flavor设置中设置ApplicationId(Play Store中使用的包名)。
设置每种类型/风味的签名。您可以添加特定于每种风味的资源,图标,清单等。您甚至可以替换整个类文件,以便客户特定的代码仅包含在您为其构建的客户的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
}
}
这是用于为每种类型\口味添加资源的文件夹结构。在这个例子中,第二种味道被称为“粉丝”。 “主”文件夹默认使用。取决于您在Android Studio的“Build Variants”部分中选择的构建版本,每种类型和风味资源都会合并到apk中(替换主文件夹中的任何相同名称)。
Android Studio中显示的文件夹是在对当前构建作为该图像中示出突出的效果。
编辑 - 全官方文档可以在这里找到:https://developer.android.com/tools/building/configuring-gradle.html
对于#2-少数的情况并不少见,你会看到免费的,付出了很多的应用程序的版本。至于#3-你们会真的为他们上传吗?我想你会为他们提供一个验证测试apk,他们会自行上传它。我不希望我的公司的名字出于我没有批准的事情上。 –
@GabeSechan你是技术人员,所以你有问题。我也有类似的想法 - 如果foolab公司要求我建立一种建筑风味,并且在3年内他们会说“好吧,现在我用我自己的代码去 - 给我签名证书”会发生什么?当我问到我被告知“foolab”通常是非常技术性的,甚至不明白我问的。 – elcuco
我曾经在一家小公司工作,我们不得不做类似的事情。你可能想要自动化整个过程,包括上传到谷歌播放,但(但不包括签名)。另一种方法很快变得非常昂贵,并且在更新时很容易忘记其中一个白名单应用程序。正如我们所做的,不止一次.. :) –