Android应用程序图标未显示

Android应用程序图标未显示,android,sdk,icons,Android,Sdk,Icons,我刚刚花了好几个小时为我正在开发的Android应用程序构建了一个图标,但无法让它在模拟器中显示出来 我把它放在res/drawable hdpi、res/drawable mdpi、res/drawable ldpi中,它们的大小分别如中所定义 清单包含以下行: <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true"> 你知道为

我刚刚花了好几个小时为我正在开发的Android应用程序构建了一个图标,但无法让它在模拟器中显示出来

我把它放在res/drawable hdpi、res/drawable mdpi、res/drawable ldpi中,它们的大小分别如中所定义

清单包含以下行:

 <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">

你知道为什么它没有出现吗

  • 确保图标与名称icon.png一起存储在这些文件夹中
  • 确保android具有可绘制/图标资源。通过查看gen/R.java文件并查看publicstaticfinalint-icon=0x…来检查这一点。。。。在可绘制的内部类中
  • 尝试清理项目生成并从手机/仿真器中卸载应用程序的任何现有版本,然后重新安装新版本

  • 如果您在Android 5.0上运行,只需在MainActivity内的onCreate方法中添加以下行:

    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setLogo(R.drawable.ic_launcher);
    getSupportActionBar().setDisplayUseLogoEnabled(true);
    

    这可能对您的情况有所帮助。

    请确保您的启动器活动的目的命名为MAIN,即

    <intent-filter>
            <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    
    
    
    此外,将图标添加到可绘制文件夹中,然后在清单的应用程序块中引用它

    <application
    android:allowBackup="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    

    注意Win Myo Htet对接受答案的评论。他解决了我的问题

    杰姆斯:既然你的答案有这么多选票,你能补充以下内容吗 指针太多:确保主和启动器的意图过滤器不可用 与其他目的过滤器混合12月6日15日5点47分赢得美欧杯


    mixed”作为关键字。我在那里的AndroidManifest.xml文件中打算阻止所有文件类型在文件选择中可用。虽然它从第二个答案的解决方案开始,但它包含了文件选择的额外意图。这使得Android在安装应用程序时无法安装我的图标。我想发布这篇文章,以防其他人遇到这个问题,因为Win My Htet的绝妙建议很容易被忽略,因为它本质上是一个词“混合”

    我最近遇到了类似的问题,我最终发现有两个原因:

    • 文件扩展名:为了安全起见,请始终使用.png格式。其他一些格式实际上可以在某些设备上使用(例如,在我的Infinix note 4手机上仍然会显示.jpg图标),但是.png文件保证可以在所有设备上使用

    • 存储位置:图标文件应位于可绘制文件夹中。记住,要仔细检查清单文件是否也指向保存可绘图文件的位置

    我希望这有帮助。。快乐的编码

    添加以下内容:

    android:roundicon also
    

    我想详细介绍一下@Britton Pentakill和@arnav bhartiya的答案,因为我可以用他们的答案解决我的问题。我在我的
    MainActivity
    上添加了更多操作,因为Android Studio抱怨“应用程序不可由谷歌索引”,我还希望它可索引

    错误的AndroidManifest.xml:

    <intent-filter>
      <action android:name="android.intent.action.MAIN"/>
      <category android:name="android.intent.category.LAUNCHER"/>
      <action android:name="android.intent.action.SEND"/>
      <action android:name="android.intent.action.VIEW"/>
      <category android:name="android.intent.category.BROWSABLE"/>
      <data android:scheme="https"
            android:host="siara.cc"
            android:pathPrefix="/CrossCalc" />
     </intent-filter>
    
    
    
    所以当我发布我的应用程序时,人们在他们的设备上找不到我的应用程序图标,在游戏控制台上安装后没有打开按钮,即使它通过了审查并发布在Play store上(花了7天)

    然后,当我阅读他们的答案时,我纠正了错误,现在我可以看到打开我的应用程序的图标:

    正确:

    <intent-filter>
      <action android:name="android.intent.action.MAIN"/>
      <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
    <intent-filter>
      <action android:name="android.intent.action.VIEW"/>
      <category android:name="android.intent.category.DEFAULT"/>
      <category android:name="android.intent.category.BROWSABLE"/>
      <data
        android:scheme="https"
        android:host="siara.cc"
        android:pathPrefix="/CrossCalc"/>
    </intent-filter>
    
    
    
    
    

    在应用程序的清单中有两个属性,icon和roundicon。一个用于调试,另一个用于发布。

    对于显示图标,您需要在主题样式中替换@drawable,它将正常工作

    您给它起的名字正确吗?假设您没有更改清单,默认图标称为icon.png,是一个android图标。只需将此图标替换为您自己的图标,它就会正常工作。那么,会显示什么?您是否收到任何错误?我通过重新启动设备解决了此问题。:)图标不是icon.png,我把它放错了位置(不是替换默认图标)。谢谢大家!!我要补充的是,它不必称为icon.png,但名称必须与您在android中选择的任何内容相匹配:icon=“@drawble/…”行。我想强调第三步“清理项目构建”的一部分:确保单击project/Clean…并清理项目。我的情况就是这样@Jems因为你的答案有这么多投票权,你能不能也添加以下指针:确保MAIN和LAUNCHER的intent filter没有与其他intent filter混合使用。+1让人们注意他们的清单文件。我有非常棘手的图标问题出现,因为这个文件有点配置错误。谢谢你指出这一点,布里顿。这正是我遇到的问题。是的,这也是梅的问题。非常感谢。向上投票。确保您只具有主和启动器意图。否则,应用程序图标将不会显示在手机上。我的清单上确实有这个,但仍然没有解决OP发布的问题。为我工作!伙计们,如果你没有正确配置清单,那么你的应用程序就不稳定了。。并且在应用程序登录页中没有安装按钮播放商店!这也是我第一次遇到这种情况。它不是一个用于调试,另一个用于发布,它的工作方式如下:如果你的手机主题有方形图标,它将从属性“icon”中获取应用图标;如果你的手机主题有圆形图标,它将从属性“roundIcon”中获取应用图标。
    <manifest ...>
    
        <application
            android:icon="..."
            android:roundIcon="..."/>
    </manifest>