圖/文 聽鬼哥說故事
有時候遇到的游戲,不知道是游戲公司問題,還是分發渠道后的問題,游戲安裝后居然會不顯示圖標。當然。這對於病毒和木馬來說是非常重要的,也是非常好的隱藏手段,只是對於正常應用和游戲來說就須要處理這個問題了。
遇到這個問題。有幾種可能:
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執行程序,發現程序會啟動,而手機界面卻沒有圖標產生。
在自己開發程序,或者是反編譯程序的時候,出現的這樣的情況是比較多的。也是比較常見的,並且這鍾情況,不熟悉開發知識的新同學可能不會了解這個,而把問題歸結於其它情況,這點一定要注意。