6

我使用 build.gradle(app) 来创建不同风格的 apk。但是安装不同风格的相同 apk 会覆盖前一个。我想创建不同的 apk 以同时在同一设备上运行。我想用不同的appicon创建不同的apk,可以安装在同一台设备上并同时运行。任何链接或教程或直接帮助表示赞赏。

提前致谢。

4

3 回答 3

4

更改风味的 PackageName

示例 Gradle 文件

apply plugin: 'com.android.application'

android {

    lintOptions {
        abortOnError false
    }


    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }

    buildTypes {
        debug {
            minifyEnabled false
            zipAlignEnabled true
        }
        release {
            minifyEnabled true
            zipAlignEnabled true
        }
    }
    productFlavors {
        Flavor1 {
            applicationId "com.falvor.one" //This is where you change the package name
        }
        Flavor2 {
            applicationId "com.falvor.two"
        }
    }
}

Android 中的风味层次结构

- src/main/java
- src/flavor1
--------------Java
----------------Your java files
--------------res
----------------Drawable
  • src/flavor2/java

如需更多了解,请点击此链接

于 2015-10-14T13:12:54.887 回答
3

您需要在 gradle 文件中创建新的 productFlavors,如下所示;

productFlavors {
        Flavor1 {
            applicationId 'com.project.fl1'
            signingConfig signingConfigs.xx
            versionCode 1
        }
        Flavor2 {
            applicationId 'com.project.fl2'
            signingConfig signingConfigs.xx
            versionCode 1
        }
        Flavor3 {
            applicationId 'com.project.fl3'
            signingConfig signingConfigs.xx
            versionCode 1
        }
}

这里重要的是给每个人一个唯一的applicationId,然后它们可以安装在同一部手机上。

于 2015-10-14T13:13:18.777 回答
2

这篇文章准确地解释了如何一步一步地实现你想要的。

最重要的是:

  1. 将产品风味容器添加到应用程序build.gradle文件

    productFlavors { free { applicationId "antoniocappiello.com.buildvariantsexample.free" } paid { applicationId "antoniocappiello.com.buildvariantsexample.paid" } }

  2. src中创建一个目录,其中包含您希望与主要变体看起来不同的产品风味的确切名称,例如,在步骤 1 中的配置中,目录名称可以是payfree。在该目录中创建子文件夹res/drawable,您将在其中放置新的应用程序启动器图标。

目录结构示例

于 2015-10-25T17:53:13.083 回答