0

https://drive.google.com/file/d/1cIoD5Uw5Jkut--qsJUX_hYBx13gbFNM2/view

见上面的视频

我有一个有 2 种不同口味的应用程序。我添加了不同的应用程序图标和一些要替换的不同图像。图标,背景图像适用于另一种风格,但一个图像不是从资源中提取的,它只显示默认图像。

毕业典礼:

productFlavors {
    fibodo {
        applicationId "com.fibodo.consumer"
        versionCode 1
        versionName "4.0.16"
    }

    jdsports {
        applicationId "com.fibodo.jdsports"
        versionCode 1
        versionName "1.0.0"
    }
}

这是屏幕截图,其中清楚地表明预览很好,但是在运行应用程序时它不显示相应的徽标

fibodo调试

jd调试

京东截图

斐波多截图

4

2 回答 2

0

我的猜测是,您正在为在 android studio 中选择的预览设备提供所需的资源,但不知何故缺少测试设备的资源

假设您的预览设备是xhdpi并且模拟器是xxhdpi,您只是提供资源,xhdpi因此它仅适用于预览而不是模拟器。

一定有这种情况或类似的情况,设备没有找到它需要的确切资源,所以它正在使用默认资源!

于 2018-12-01T06:41:22.943 回答
0

当您使用风味时,您需要在单独的文件夹中拥有风味资源,例如,如果您有这两种风味:

productFlavors {
    fibodo {
        applicationId "com.fibodo.consumer"
        versionCode 1
        versionName "4.0.16"
    }

    jdsports {
        applicationId "com.fibodo.jdsports"
        versionCode 1
        versionName "1.0.0"
    }
}

你应该有这些文件夹:

src 文件夹

在他们自己的文件夹中添加您的风味资源,并从您的 main/res 文件夹中删除这些资源。

在此处输入图像描述

在这个位置,每个风味首先查看他们的 res 文件夹以查找资源,如果他们找不到任何资源,他们将查看 main/res 文件夹,因此如果您将资源放在单独的文件夹中,他们将不会混合。

于 2018-12-01T06:20:03.303 回答