Android应用程序图标未显示

时间:2011-01-23 22:16:33

标签: android sdk icons

我花了很多时间为我正在制作的Android应用程序构建一个图标,但无法在模拟器中显示该应用程序。

我把它放在res / drawable-hdpi,res / drawable-mdpi,res / drawable-ldpi中,各自的大小如http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html中所定义

清单包含以下行:

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

关于它为什么没有出现的任何想法?

11 个答案:

答案 0 :(得分:21)

  1. 确保图标以名称icon.png存储在这些文件夹中。
  2. 确保android有一个drawable / icon资源。通过查看gen / R.java文件并在drawable内部类中查看public static final int icon = 0x ....来检查这一点。
  3. 尝试清理项目构建并从手机/模拟器卸载任何现有版本的应用,然后重新安装新版本。

答案 1 :(得分:4)

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

Jems since your answer has so much vote, can you add the following pointer too: Make sure that intent-filter for MAIN and LAUNCHER is not mixed with other intent-filter. – Win Myo Htet Dec 6 '15 at 5:47

混合”是关键字。我有意在我的AndroidManifest.xml文件中阻止所有文件类型在文件选择中可用。虽然它从第二个答案的解决方案开始,但它包含了文件选择的额外意图。这阻止了Android在安装应用时安装我的图标。我想发布这个以防万一其他人遇到这个问题,因为Win My Htet的精彩建议很容易被遗漏,因为它基本上只有一个词“混合

答案 2 :(得分:4)

我想详细说明@Britton Pentakill和@arnav bhartiya的答案,因为我可以使用他们的答案来解决我的问题。我在<div class="row card-body" style="display:flex; flex-direction:row; flex-wrap:wrap;"> <div id="divCantieri" runat="server" class="col-sm-4 bg-secondary"> ... </div> <div id="divImporta" runat="server" class="col-sm-4 bg-secondary"> ... </div> <div id="divBatch" runat="server" class="col-sm-4 bg-secondary"> ... </div> <div id="divCausali" runat="server" class="col-sm-4 bg-secondary"> ... </div> </div> 上添加了更多操作,因为Android Studio抱怨“应用无法被Google索引”,我也希望它可以被索引。

错误的MainActivity

AndroidManifest.xml

因此,当我发布我的应用程序时,即使在通过审核并在Play商店上发布(耗时7天),人们也无法在其设备上找到我的应用程序图标,在Play控制台上安装后也找不到“打开”按钮。

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

正确:

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

答案 3 :(得分:3)

确保Launcher活动的Intent名为MAIN,即

<intent-filter>
        <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

此外,将图标添加到Drawable文件夹,然后在Manifest的应用程序块中引用它。

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

答案 4 :(得分:1)

要显示图标,您需要替换主题样式中的@drawable,它将起作用 enter image description here

答案 5 :(得分:0)

如果您在Android 5.0上运行,只需将这些行添加到MainActivity中的onCreate方法中:

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

这可能会对您有所帮助。

答案 6 :(得分:0)

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

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

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

我希望这会有所帮助。.编码愉快!

答案 7 :(得分:0)

添加此内容:

android:roundicon also

答案 8 :(得分:0)

<manifest ...>

    <application
        android:icon="..."
        android:roundIcon="..."/>
</manifest>

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

答案 9 :(得分:0)

就我而言,在所有 mipmap 文件夹中同时分配 ic_launcher 和 ic_launcher_round 后,我必须删除以下文件夹“mipmap-anydpi-v26”才能显示应用程序图标。

答案 10 :(得分:-1)

我遇到了同样的问题。 我做了什么-

在安装应用程序之后和之前尝试重新启动设备(在测试应用程序的位置)