Android 8.0 Oreo (API- 26) , : . , Android O , . , Android 8.0 , targetSdkVersion - 26 .
https://material.io/guidelines/style/icons.html#icons-icons-for-android
Android
Android O
Android O Home All Apps. , , .
...
: . .
( )
( )
7.1
8.0 , 7.1 , .
- ( ). . .
- Launcher ( Legacy). , .
shape
none
, . res/mipmap/ic_laucher_round
.- AndroidManifest.xml
android:roundIcon="@mipmap/ic_launcher_round"
application
.

, XML Android 8.0 .
- -anydpi-V26/ic_launcher.xml
- -anydpi-V26/ic_launcher_round.xml
, XML .
- /ic _launcher_background.xml
- -v24/ic_launcher_foreground.xml

# 1:
Android 8.0 , Android 8.1 (Nexus 5X). "NoAdaptive" mipmap-anydpi-v26
, "Adaptive" .


# 2:
Android 8.0 , . .
Nexus 5X (Android 8.1)
Google Now Launcher com.google.android.launcher
. , " β1".
Nexus 5 (Android 8.1)
Pixel Launcher com.google.android.apps.nexuslauncher
. "", :

GMS :
com.google.android.launcher
Google Now Launchercom.google.android.apps.nexuslauncher
, AOSP open-source. Android :
com.android.launcher
com.android.launcher2
com.android.launcher3
Launcher3
git oreo-release Launcher3, LauncherIcons.java wrapToAdaptiveIconDrawable
, .
static Drawable wrapToAdaptiveIconDrawable(Context context, Drawable drawable, float scale) {
if (!(FeatureFlags.LEGACY_ICON_TREATMENT && Utilities.isAtLeastO())) {
return drawable;
}
try {
if (!(drawable instanceof AdaptiveIconDrawable)) {
AdaptiveIconDrawable iconWrapper = (AdaptiveIconDrawable)
context.getDrawable(R.drawable.adaptive_icon_drawable_wrapper).mutate();
FixedScaleDrawable fsd = ((FixedScaleDrawable) iconWrapper.getForeground());
fsd.setDrawable(drawable);
fsd.setScale(scale);
return (Drawable) iconWrapper;
}
} catch (Exception e) {
return drawable;
}
return drawable;
}
FeatureFlags.LEGACY_ICON_TREATMENT
FeatureFlags.java:
// When enabled, icons not supporting {@link AdaptiveIconDrawable} will be wrapped in this class.
public static final boolean LEGACY_ICON_TREATMENT = true;
, , , Pixel Launcher.
true
, R.drawable.adaptive_icon_drawable_wrapper
, . drawable: @color/legacy_icon_background
, XML :
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/legacy_icon_background"/>
<foreground>
<com.android.launcher3.graphics.FixedScaleDrawable />
</foreground>
</adaptive-icon>
legacy_icon_background
colors.xml
<color name="legacy_icon_background">#FFFFFF</color>
, .