我花了很多时间为我正在制作的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">
关于它为什么没有出现的任何想法?
答案 0 :(得分:21)
答案 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)
答案 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)
我遇到了同样的问题。 我做了什么-
在安装应用程序之后和之前尝试重新启动设备(在测试应用程序的位置)