在安卓开发的时候,想对自己的应用更换图标,在我的平板上部署的时候可以显示正常,但在手机上一直显示不正常,百度上搜出来的方法对我的应用都无效,所以我开始乱来。开始我以为是图片太大了(我不是指尺寸),所以一直用photoshop压缩图片,但发现压缩后还是没效,所以我便开始删除文件了。下面是我的androidmanifest.xml。我看到有些人用的是drawable,我这里用的是默认的mipmap。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.edcsoul">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ui.NewsContentActivity" />
</application>
</manifest>
我把鼠标放在@mipmap/ic_launcher上的时候,发现里面还有一个xml文件,我当时怀疑是这个文件引起了不明的原因,所以就把这个mipmap文件下的ic_launcher.xml和c_launcher_round.xml删除了,如下:
总结一下,手机应用图标显示不正常有以下原因:
1.手机本身系统的原因,有缓存
2.图片的尺寸大小原因(4848,7272,9696,144144,192*192),将约定大小的图片放进合适的文件夹
3.猜测是sdk原因(手机是android8,平板是android7)
解决办法如下:
1.卸载应用重启
2.替换相应尺寸的图片
3.删除ic_launcher.xml和c_launcher_round.xml,但应该会在不同手机上显示有出入
后期再慢慢寻找原因。