3

我在一家商店里有这个“foo”应用程序的公司工作,该应用程序是我们硬件的助手,深受经销商的喜爱。我们确保名称尽可能通用——以便我们的供应商能够将应用程序作为“他们的应用程序”进行营销。

但是 - 一些转售商确实希望在应用程序上显示他们的确切名称和图标。他们愿意付钱,我需要做到这一点。

问题:

  1. 我了解我正在寻找构建变体。但是,如何修改 apk-package-name ,显示名称是使用构建变体的默认启动器图标?
  2. 这是否允许...?我不是“正式”向商店发送垃圾邮件,但感觉我可能会因为这样做而被禁止。
  3. 代码签名 - 我将自己上传 APK,并且我需要使用不同的证书(无论它在 android 上调用什么)进行签名。再次 - 这很模糊,我找不到关于这个主题的文档。
  4. 我还计划以这种方式发布我的应用程序的测试版。我目前正在使用标准机制,但这意味着测试人员无法向客户展示应用程序的案例(因为它大部分时间都没有完成或崩溃)[1]

  5. “白标”一词是否适用于此……?

[1] 在小公司工作的乐趣 :)

4

1 回答 1

5

您可以使用您所怀疑的构建变体来执行此操作,但您可能还需要 Flavors。

这是一个具有多种构建类型和风格的示例 gradle 文件。您在风味设置中设置 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
    }
}

这是为每种类型\风味添加资源的文件夹结构。在此示例中,第二种风味称为“粉丝”。默认情况下使用“主”文件夹。根据您在 Android Studio 的“构建变体”部分中选择的构建,每种类型和风味资源都会合并到 apk 中(替换主文件夹中的任何相同名称)。

在此处输入图像描述

Android Studio 将显示哪些文件夹对当前构建有效,如图中突出显示的那样。

在此处输入图像描述


编辑 - 完整的官方文档可在此处获得:https ://developer.android.com/tools/building/configuring-gradle.html

于 2016-03-06T16:22:55.847 回答