Android:已安装的应用程序图标在模拟器中不可见

时间:2011-03-01 05:06:08

标签: android-emulator

当我运行我的应用程序代码时,我可以在控制台中看到以下条目:

[2011-03-01 10:29:26 - mireader] Uploading mireader.apk onto device 'emulator-5554'
[2011-03-01 10:29:26 - mireader] Installing mireader.apk...
[2011-03-01 10:29:40 - mireader] Success!
[2011-03-01 10:29:41 - mireader] Starting activity com.mireader.reader on device emulator-5554 
[2011-03-01 10:29:44 - mireader] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.mireader/.reader }

应用程序的主GUI自动运行。直到这里,没有问题。当我回到应用程序列表时,我的应用程序图标不可见。我检查了settings-> application-> manage application,在那里我可以看到我的应用程序,它也显示了卸载选项。

有什么问题?

3 个答案:

答案 0 :(得分:17)

可能缺少

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
主<&lt;活动&gt;中的

在清单中

答案 1 :(得分:9)

我在Android Studio中遇到了同样的问题,API 19和gradle构建系统。我们花了几个小时来解决这个问题,我们意识到,如果你有更多的库(例如你在同一个项目中有更多的测试应用程序)并且你在分离的库中有更多的启动器图标,那么gradle无法解决这个问题。您没有收到任何错误消息,只是您没有看到图标。

  • 因此,请为启动器图标使用不同的名称,或者只删除不需要的名称。

(我只是想,也许有人会遇到同样的问题......)

  • 当图标消失时,还有另一种情况。使用<data android:scheme="your-own-uri">

解决方案是拆分intent-filter。

    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <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="your-own-uri" />
        </intent-filter>
    </activity>

答案 2 :(得分:0)

对于像我这样的Android noobs,把它放在:

<data android:scheme="file" />
<data android:host="*" />
<data android:pathPattern=".*\\.pdf" />
主活动的intent过滤器标签之间的

也会导致图标消失。上面的代码是基于其扩展名打开文件。删除它,图标重新出现。