标签: android-variants

Android Studio:为每个变体提供自己的图标

在 Android Studio 中,我希望每个应用程序变体都有自己的图标。

我尝试了各种方法,包括这里建议的方法 How to Provide different Android app Icons for different gradle buildTypes? 但它不起作用

这是我在 build.graddle 文件中编写的内容:

 flavorDimensions "marketplaceA"

    productFlavors {
        koanFlavor {
            dimension "marketplaceA"
            resValue "string", "app_name", "Koan"
            manifestPlaceholders = [
                    appIcon: "@mipmap/ic_launcher"
            ]
            minSdkVersion 20
            targetSdkVersion 27
            versionCode 3
            versionName '1.1'
        }
        koanSEFlavor {
            dimension "marketplaceA"
            resValue "string", "app_name", "Koan SE"
            manifestPlaceholders = [
                    appIcon: "@mipmap/ic_launcher"
            ]
            minSdkVersion 20
            targetSdkVersion 27
            versionCode 3
            versionName '1.1'
        }
        } 
Run Code Online (Sandbox Code Playgroud)

而且,因为我在每个变体中共享相同的资源:

  • 我没有为每个变体创建一个 res 文件夹

  • 我用2个版本的xml和png文件填充了主res文件夹的mipmapXXX文件夹

但是当我在模拟器中运行该应用程序时,该图标没有显示(奇怪的是,它仅在我的shield K1平板电脑上显示,我尝试过的所有其他智能手机都没有显示该图标)

更新: …

icons android android-studio android-variants

6
推荐指数
1
解决办法
4933
查看次数

为 android 中的每种风格替换 XML 文件

我正在尝试将Braze集成到我的应用程序中以进行推送通知。Braze 需要我们在其中添加 API 密钥和其他 braze 相关内容(这里是文档)创建一个braze.xml文件。src/main/res/values

现在我需要区分 prod 和 qa 环境,这意味着它们将有 2 个不同的 API 密钥。

我想知道如何使用不同的braze.xml口味来实现不同的效果。

我找到了这个

sourceSets {
    main {
         java {
            srcDirs = ['src']
         }
    }

    test {
        java {
            srcDirs = ['test']
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何使用它来替换我的 braze.xml 以适应不同的构建变体。

android source-sets build.gradle android-gradle-plugin android-variants

5
推荐指数
1
解决办法
914
查看次数

Android Gradle:在一台设备上安装所有构建类型

在使用GCM,ContentProvider,AccountType时,如何配置项目以便能够在发布版本旁安装调试版本?(不使用口味)

我一直收到错误,例如:INSTALL_FAILED_CONFLICTING_PROVIDERINSTALL_FAILED_DUPLICATE_PERMISSION

android android-gradle-plugin android-productflavors android-build-type android-variants

4
推荐指数
1
解决办法
1449
查看次数

产品风味总是退回为空

在我的gradle(app)文件中,我设置了产品样式和构建类型,如下所示

productFlavors {

    mock {

    }

    develop {

    }

    qa {


    }
    staging {

    }
    prod {

    }
}

buildTypes {

    debug {
        //signingConfig signingConfigs.release
    }
    release {
        minifyEnabled false
        //signingConfig signingConfigs.release
    }
Run Code Online (Sandbox Code Playgroud)

在Android Studio构建版本中,基于上述内容,我得到以下选项:

  • 开发调试
  • 开发发布
  • 模拟调试
  • 模拟释放
  • prodDebug
  • proddRelease
  • qaDebug
  • qa发布
  • 调试
  • 分期发布

我在我的应用程序中放置了一个代码,以打印当前正在运行的Build变体,如下所示。但是以下代码始终显示为空。为什么会这样呢?如何在我的应用程序中获取确切的构建版本?任何帮助深表感谢。

System.out.println("Current build variant is"+BuildConfig.FLAVOR);
Run Code Online (Sandbox Code Playgroud)

android android-build android-variants

3
推荐指数
1
解决办法
797
查看次数