アプリアイコンを変換して、Android oのアダプティブアイコンとImage Asset Studio
in Android studio
aPI 25を実行しているデバイスでプロジェクトを実行すると、デフォルトの緑Androidアイコンが表示され、アイコンは表示されません。
これは私のマニフェストです
<application
Android:icon="@mipmap/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme"
Android:allowBackup="false"
Android:roundIcon="@mipmap/ic_launcher_round"
tools:replace="allowBackup"
tools:ignore="GoogleAppIndexingWarning">
これらは画像アセットスタジオが作成したファイルです
これは単にAndroid Studioのバグですか、何か見落としていましたか?
私も同じトラブルを抱えていたので、mipmap-anydpi
ディレクトリからmipmap-anydpi-v26
。
どうやらic_launcher.xml
ファイルは古いAndroidバージョンを混同し、これによりOを除くすべてから隠されます。いずれにしても、私のアイコンはすべてのバージョンで動作します(少なくともSDK 11まで)。
解決策は、APIレベル26以上に適用可能なアダプティブアイコンのmipmap-anydpi-v26/ic_launcher.xml
および他のAPIレベルのすべてのmimpapフォルダーにic_launcher.png
(注:ic_launcher.xmlではない)を配置することです。
説明:
基本的な問題mipmap-anydpi
は、他のすべてのmipmap-*
よりも優先されます。そのため、mipmap-anydpi
でリソースが見つかった場合、常に優先されます。 mipmap-anydpi-v26
はこの上のフィルターであり、mipmap-anydpi-v26
からのリソースはデバイス密度に関係なく常に選択されることを示しますAPIレベルが26以上の場合のみ(Oreo)。
マニフェストにはAndroid:icon="@mipmap/ic_launcher"
があります
デバイスのAPIレベルが26以上の場合Android=はmipmap-anydpi-v26/ic_launcher.xml
を使用することを選択し、すべて正常に動作します。
この問題は、APIレベルが26未満の場合に発生します。Android ic_launcher
という名前のリソースを検索する統計。APIレベルの制約のため、mipmap-anydpi-v26
に移動して検索することはありません。次に、mipmap-anydpi
でリソースを検索し、ない場合は実際の密度リソース(例:mipmap-mdpi
)を検索します。
次に、ic_launcher.xml
をAndroid sdk 26未満のデバイスに与えることはできません。アダプティブアイコンが何であるかがわからないためです。
したがって、解決策は、APIレベル26以上に適用可能なアダプティブアイコンのmipmap-anydpi-v26/ic_launcher.xml
と、他のAPIレベルのすべてのmimpapフォルダーにic_launcher.png
(注:ic_launcher.xmlではない)を配置することです。
私は同じ問題に直面し、以下のように解決しました。
ic_launcher.xml
とic_launcher_round.xml
をmipmap-anydpi-v26に入れる必要があります(同じフォルダーにic_launcher.png/jpg
またはic_launcher_round.png/jpg
がないことを確認してください) 。
ic_launcher.png
をmipmap-hdpi/mdpi/xhdpi/xxhdpi/xxxhdpiに配置する必要があります(これらの同じフォルダーにic_launcher.xml
とic_launcher_round.xml
が含まれていないことを確認してください)。
これを行うことにより、プロジェクトの構築/実行中にエラーが発生することはありません。
同じ問題を抱えている人の助けになることを願っています...
それでも動作しない場合は、XMLスキーマをチェックしてください。Android studioから自動インポートを使用する場合、動作しません。/apk/res/Androidである必要があります。コードは次のとおりです。
<adaptive-icon xmlns:Android="http://schemas.Android.com/apk/res/Android">
<background Android:drawable="@mipmap/ic_launcher_background"/>
<foreground Android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>