Android – debugging和发布模式的应用程序图标

如果我们在清单中设置android:debuggable = true并且如果我们在iOS中设置android:debuggable = false,是否可以为应用程序设置单独的图标?

Solutions Collecting From Web of "Android – debugging和发布模式的应用程序图标"

据我所知应用程序图标只依赖于他们在drawables文件夹,并没有文件夹限定符为-debug ,有没有办法让你改变图标基于清单更改

我晚了一点,但无论如何。 目前我在16年发布这个版本,实际上你可以有不同的启动图标设置,只是简单地把它们放到各自的目录,不知道它是如何回到'13。 为了达到这个目的,你需要在app / src下创builddebug / res目录,并把你的mipmap或drawable目录放在那里。 所以你会有app / src / main / res /app / src / debug / res /path。 Android将build立相关资源目录的更高优先级 – 目录。 把你的debugging和释放资源放到适当的path上,你就会得到你想要的。 做所有以上考虑你必须使用Gradle构build系统。

在这里你可以阅读更多关于这样的东西: http : //tools.android.com/tech-docs/new-build-system/resource-merging

你需要gradle和build立口味来做到这一点。 然后你可以有不同的资源文件夹的不同口味。

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavors

我知道这是一个老问题 – 但是如果其他人search这个…

你可以通过创build一个debugging清单(src / debug / AndroidManifest.xml)并更新它的属性来实现。

请参阅: http : //tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-Markers

而亚历克斯的反应是好的,如果味道没有被使用,获得不同的图标,同时使用不同的口味多维度,如:

flavorDimensions "color", "size" productFlavors { black { dimension "color" } white { dimension "color" } big { dimension "size" } small { dimension "size" } } 

这可以实现为:

首先,将debugging资源放在单独的文件夹中,如:

 src/blackDebug/res src/whiteDebug/res 

其次,把多个风味维度的关键字放在一起,即源代码集名称必须包含所有可能的风味组合,即使这些维度中的一些不影响图标。

 sourceSets { // Override the icons in debug mode blackBigDebug.res.srcDir 'src/blackDebug/res' blackSmallDebug.res.srcDir 'src/blackDebug/res' whiteBigDebug.res.srcDir 'src/whiteDebug/res' whiteSamllDebug.res.srcDir 'src/whiteDebug/res' } 

为了说清楚,在使用多个维度时,以下内容不起作用

 sourceSets { // Override the icons in debug mode blackDebug.res.srcDir 'src/blackDebug/res' whiteDebug.res.srcDir 'src/whiteDebug/res' } 

您可以尝试在您的可绘制文件夹中有两个不同的应用程序图标 – 即:

  1. 绘制/ app_icon_release
  2. 绘制/ app_icon_debug

将debugging模式设置为true时:

 <android xmlns:android="http://schemas.android.com/apk/res/android"> <manifest> <application android:debuggable="true" android:icon="@drawable/app_icon_debug" android:label="Your App Name" > </application> </manifest> </android> 

否则,当debugging模式为false时:

 <android xmlns:android="http://schemas.android.com/apk/res/android"> <manifest> <application android:debuggable="false" android:icon="@drawable/app_icon_release" android:label="Your App Name" > </application> </manifest> </android>