2013-10-22 32 views
8

如果我们在清单中设置android:debuggable = true并且如果我们在iOS中设置android:debuggable = false,是否可以为应用程序设置单独的图标?Android - 调试和发布模式的应用程序图标

+0

的可能的复制[如何提供不同gradle这个buildTypes不同的Android应用程序的图标?] (https://stackoverflow.com/questions/22875948/how-to-provide-different-android-app-icons-for-different-gradle-buildtypes) – longilong

+0

@longilong在你提供的线程之前提出了这个问题。 – Uma

+0

是真实的,但链接的答案有一个更澄清的解决方案,这是我的第一面旗帜。对不起:-D – longilong

回答

2

据我知道的应用程序图标只依赖于可绘制文件夹,他们都在,并且有no folder qualifiers for -debug,有没有办法让你改变基于清单中的图标会改变

+2

虽然确实没有用于调试的文件夹限定符,但实际上可以使用flavor来实现。 –

+0

检查这个职位在这里:https://stackoverflow.com/questions/22875948/how-to-provide-different-android-app-icons-for-different-gradle-buildtypes – longilong

-1

你可以试试有两个不同在绘制文件夹的应用程序图标 - 即:

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

当设置调试模式为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> 

否则,当调试模式为假:

<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> 
+0

这意味着你必须每次手动设置它!尝试使用动态解决方案 – longilong

1

你需要gradle这个和构建口味做到这一点。然后,您可以为不同的风味设置不同的资源文件夹。

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

+0

调试版和发布版的构建类型针对每种风味公开,所以实际上这不是搜索者正在寻找的内容。您可以更改每种构建风格的图标,但是每种风格通常都有一个签名和未签名的APK,如果您也可以调整图标,那很棒。 –

9

我有点晚了党,但无论如何。现在,我在16年发布这个帖子时,实际上可以将不同的发布图标集放在相应的目录中,但不确定它是如何返回到'13的。为了实现这个目标,你需要在app/src下创建debug/res目录,并将你的mipmap或drawable目录放在那里。 所以你将有app/src/main/res/app/src/debug/res/路径。 Android将建立相关资源目录的优先级更高 - 至主目录。将您的调试和发布资源放在适当的路径上,您将拥有自己想要的东西。考虑到你必须使用Gradle构建系统,所有这些都可以做到。

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

+2

这也适用于我:http://peirr.com/random-android-gradle-tip-different-icon-per-buildtype/ – trukvl

0

而由亚历克斯的响应的情况下,口味罚款不使用时,为获得在使用不同的口味有多个维度,如不同的图标:

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

    big { 
     dimension "size" 
    } 
    small { 
     dimension "size" 
    } 
} 

这是可以实现的:

首先,将调试资源在不同的文件夹,如:

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' 
} 
相关问题