图/文 听鬼哥说故事
有时候遇到的游戏,不知道是游戏公司问题,还是分发渠道后的问题,游戏安装后居然会不显示图标。当然。这对于病毒和木马来说是非常重要的,也是非常好的隐藏手段,只是对于正常应用和游戏来说就须要处理这个问题了。
遇到这个问题。有几种可能:
1.游戏没有设置icon
2.游戏没有设置主类
3.主类里面有其它data或filter影响
以下来进行測试:
一个正常的AndroidManifest.xml文件是这个样子的,例如以下图:
第一钟方式:
我们在程序开发中将icon删除掉。程序会正常执行,而图标变为系统的小机器人。例如以下:
<application android:allowBackup="true" android:icon="@drawable/ggg" android:label="@string/app_name" android:theme="@style/AppTheme" >
于是,把Eclipseproject中bin文件夹下的apk来导出来,反编译它,在xml文件里将icon设置的名字改动,回编译程序会报错例如以下:
说明这样的方式是不可行的,也就是我们遇到的没有图标的游戏或应用。用这样的方式无法还原。
另外一种方式:
我们先删除掉主类的这个字段
<category android:name="android.intent.category.LAUNCHER" />
这里另一种情况:
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
即把LAUNCHER进行一些修改,如上面所看到的.
在进行安装的时候,在控制台会提示:
然后程序没有启动。无图标。
接着。我们恢复这个字段,然后删除Main字段:
效果同上面效果一样,无图标。
这样的情况一般我们是会遇到的,尤其是遇到分渠道的游戏或者应用,使用他们自己的打包工具时。可能会遇到,这里须要注意。
第三种方式:
我们在主类的里面加入例如以下代码
<activity android:name="com.example.testicon.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <data android:scheme="aone" android:host="AccountManageActivity" /> </intent-filter> </activity>
Eclipse执行程序,发现程序会启动,而手机界面却没有图标产生。
在自己开发程序,或者是反编译程序的时候,出现的这样的情况是比較多的。也是比較常见的,并且这钟情况,不熟悉开发知识的新同学可能不会了解这个,而把问题归结于其它情况,这点一定要注意。