我在gradle文件中设置了两种构建类型:debug
和release
。我希望能够为debug
构建类型设置不同的应用程序图标。有没有办法只通过构建类型实现这一点,而不涉及产品风格?建筑gradle文件如下。
apply plugin: 'android'
//...
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
versionCode 30
versionName "2.0"
}
buildTypes {
debug {
packageNameSuffix '.debug'
versionNameSuffix '-SNAPSHOT'
}
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
您可以在产品风味的部分AndroidManifest中指定图标。xml文件:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
tools:replace="android:icon"
android:icon="@drawable/alternative_icon" />
</manifest>
这将覆盖您在原始AndroidManifest.xml中指定的图标
这是一个方便的方法,尽管它有一个重要的缺点...两个发射器都将被放入你的apk。巴泰克·利平斯基
更好的方法:疯狂OnABun的答案
Android清单.xml
<manifest
...
<application
android:allowBackup="true"
android:icon="${appIcon}"
android:roundIcon="${appIconRound}"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
...
</application>
</manifest>
build.gradle
android {
...
productFlavors{
Test{
versionName "$defaultConfig.versionName" + ".test"
resValue "string", "app_name", "App-Test"
manifestPlaceholders = [
appIcon: "@mipmap/ic_launcher_test",
appIconRound: "@mipmap/ic_launcher_test_round"
]
}
Product{
resValue "string", "app_name", "App"
manifestPlaceholders = [
appIcon: "@mipmap/ic_launcher",
appIconRound: "@mipmap/ic_launcher_round"
]
}
}
}
Github url:使用Gradle构建多版本应用程序
想通了。您需要做的是创建一个名为debug
的单独src文件夹,其中包含不同的图标。例如,如果您的项目布局如下,并且您的启动器图标名为ic_launcher.png
:
[Project Root]
-[Module]
-src
-main
-res
-drawable-*
-ic_launcher.png
然后,若要为调试生成类型添加单独的图标,请添加:
[Project Root]
-[Module]
-src
-main
-res
-drawable-*
-ic_launcher.png
-debug
-res
-drawable-*
-ic_launcher.png
然后,当您在调试构建类型下构建时,它将使用调试文件夹中的ic_launcher。
问题内容: 我的gradle文件中设置了两种构建类型:debug和release。我希望能够为debug构建类型设置其他应用程序图标。有没有办法通过构建类型来实现此目的而又不涉及产品风味?build.gradle文件在下面。 问题答案: 弄清楚了。您需要做的是创建一个单独的src文件夹debug,其中包含不同的图标。例如,如果您的项目布局如下,并且启动器图标称为ic_launcher.png: 然
我正在构建一个具有多种不同风格的应用程序。我的问题是,如果我为基于flavor的活动使用不同的代码,我是否需要在所有flavor directores中包含该代码的副本,或者如果我只将代码副本保留在app/src/main/java目录中,如果我不将其包含在flavor目录中,其他所有flavor是否会使用main/java中的文件。 我有 app/src/main/java/com/mycomp
我正在为我的应用程序准备图形。首先,我用photoshop准备xxhdpi分辨率普通屏幕(三星galaxy s4)的图形。现在,为了支持其他分辨率,我使用ldpi、mdpi、hdpi和xhdpi的分辨率进行了转换。 我的问题是,新的xhdpi图形在Nexus 10 xhdpi设备(也在小型2.7英寸ldpi设备上)上看起来模糊或扭曲。如何创建图形以支持这种多分辨率和各种屏幕大小的设备。
问题内容: 我正在编写的代码()包括让每个客户在处理的特定时间点插入自己的计算器的功能。这是为了允许自定义业务规则。至此,计算已经完成,我们知道了很多事情,其中有些可能与计算有关。 将为一组特定的输入参数创建并运行一次。 我的计划是使用依赖注入在构造函数中给出一个。这允许不同的用户插入自己的。该会返回一个表示为这个特殊的运行支付的附加费的数额。其他人将实现各种计算器,我需要能够更新我的代码而不
我正在使用代码优先和EF6创建一个小项目,但现在我面临一个问题: 如果一个实体有一个自动ID PK,并且例如3个实体(ID:1,ID:2,ID:4-Id3已删除),那么克隆上下文将具有(ID:1,ID:2,ID:3)的实体。 我的问题是:有没有办法强制AI PK的值,或者至少强制跳过ID?或者,是否有通过dbcontexts将数据库复制到另一个数据库的最佳方法? 我在这里发现了一篇关于编程生成ID
本文向大家介绍spring Profile如何为不同环境提供不同的配置支持,包括了spring Profile如何为不同环境提供不同的配置支持的使用技巧和注意事项,需要的朋友参考一下 说明 Profile为在不同环境下使用不同的配置提供了支持(开发环境下的配置和生产环境下的配置肯定是不同的, 例如, 数据库的配置) 。 在spring开发中用@Profile 注解使用来选择行配置系统属性。而在sp