Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中创建单独的apk以实现不同的风格_Android_Build_Apk_Android Productflavors_Buildconfiguration - Fatal编程技术网

在android中创建单独的apk以实现不同的风格

在android中创建单独的apk以实现不同的风格,android,build,apk,android-productflavors,buildconfiguration,Android,Build,Apk,Android Productflavors,Buildconfiguration,我使用build.gradle(应用程序)创建了不同风格的apk。 但是安装同一apk的不同版本会覆盖上一版本。 我想创建不同的APK同时在同一台设备上运行。 我想用不同的appicon创建不同的apk,它们可以安装在同一台设备上并同时运行。 任何链接、教程或直接帮助都将不胜感激 提前谢谢。更改口味的包装名称 样本梯度文件 apply plugin: 'com.android.application' android { lintOptions { abortOnEr

我使用build.gradle(应用程序)创建了不同风格的apk。 但是安装同一apk的不同版本会覆盖上一版本。 我想创建不同的APK同时在同一台设备上运行。 我想用不同的appicon创建不同的apk,它们可以安装在同一台设备上并同时运行。 任何链接、教程或直接帮助都将不胜感激


提前谢谢。

更改口味的包装名称

样本梯度文件

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

要了解更多信息,请遵循以下步骤

您需要在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
        }
}
这里最重要的是为每部手机提供一个独特的应用程序ID,然后将它们安装在同一部手机上。

这正好说明了如何一步一步地实现您的目标

最重要的是:

  • 将product Flavors容器添加到app build.gradle文件中

    productFlavors{
    免费的{
    applicationId“antoniocappiello.com.buildVariantExample.free”
    }
    支付{
    applicationId“antoniocapiello.com.buildvariantsexample.paid”
    }
    }

  • 在src内部创建一个目录,该目录具有您希望看起来与主变体不同的产品风味的确切名称,例如,在步骤1的配置中,目录名可以是付费的,也可以是免费的。在该目录中创建子文件夹res/drawable,您将在其中放置新的应用程序启动程序图标


  • 更改每个调味品的软件包名称让我试试这种方法,很快就会更新。@Murtaza,如果软件包名称更改,引用“main->java”文件夹中的文件将手动处理?@Mortaza,它是否同时在菜单中为调味品1和调味品2创建两个不同的应用程序图标?我试过了,但它在安装时会互相替换。在这里,我可以为每个调味品定义图标。您需要在
    src
    中分别创建一个名为“调味品1”和“调味品2”的文件夹。在每个文件夹中,你需要创建与主文件夹相同的层次结构。你能给我一些github的链接吗?因为我尝试过,但没有成功@Ashish、@Mortaza,它是否同时在菜单中为flavor1和flavor2创建了两个不同的应用程序图标?我试过了,但它在安装时互相替换。它与操作系统无关。@SimpleCoder您正在寻找教程,我已经提供给您了。你不喜欢我的回答吗?