Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Gradle插件更新到3.0后应用程序图标不显示_Android_Android Studio_Android Gradle Plugin_Aapt2 - Fatal编程技术网

Android Gradle插件更新到3.0后应用程序图标不显示

Android Gradle插件更新到3.0后应用程序图标不显示,android,android-studio,android-gradle-plugin,aapt2,Android,Android Studio,Android Gradle Plugin,Aapt2,我想将我的Gradle Android插件从2.3.3升级到3.0.1。我可以修复以下所有错误。我现在的问题是,安卓牛轧糖(24)和安卓棉花糖(23)应用程序的图标被替换为默认的机器人图标 你能帮我找到问题的原因吗。以前的图标显示了,我看不出现在不显示的逻辑原因 我尝试了所有的建议,但都没有成功 这是我的清单文件: Android系统将永远不会显示应用程序的图标,除非您这样做 像您在这里一样使用->tools:replace=“android:icon,…”将替换高优先级清单中的图标,并将图

我想将我的Gradle Android插件从2.3.3升级到3.0.1。我可以修复以下所有错误。我现在的问题是,安卓牛轧糖(24)和安卓棉花糖(23)应用程序的图标被替换为默认的机器人图标

你能帮我找到问题的原因吗。以前的图标显示了,我看不出现在不显示的逻辑原因

我尝试了所有的建议,但都没有成功

这是我的清单文件:


Android系统将永远不会显示应用程序的图标,除非您这样做


像您在这里一样使用->
tools:replace=“android:icon,…”
将替换高优先级清单中的图标,并将图标保留在低优先级清单中。

我发现了这个问题。“Android插件3.0.0默认启用AAPT2”,如中所述。看起来此更改会导致资源出现问题

为了修复应用程序的图标,我必须通过在
gradle.properties
文件中添加
android.enableApt2=false
来禁用Aapt2的使用


注意:当我使用相同的gradle设置创建新应用程序时,我无法重现该问题。

我也为此浪费了大约2个小时。蛮力解决方案是创建一个独立的项目并复制我的资产。从那里,我发现了解决方案:

Android Studio现在默认为mipmap-anydpi-v26。以前我只有mipmap anydpi,它在将gradle更新为3.0+之前工作


希望这会有所帮助。

您是否根据“ic_launcher_round”这个值检查了可用的资源?我更新了我的android studio,没有您的问题,我认为您应该清理您的项目。@AbdulWaheed我检查了图标,它们是我的应用程序图标,正如预期的那样。@salman清理没有帮助。我尝试过很多次。如果有任何关于marshmallow或naugat的特定文件夹用于mipmap图像,请检查是否有所需图像,以及是否有所需图像。在清单合并期间,需要“替换”来解决冲突。这里解释了问题:@MarioKutlev如果您在子项目(ic_launcher)中有一个子资源与您在依赖项中实现的子资源同名,则可能会出现该问题。一个随机的解决方案是重命名你的发射器图标。救了我的命,谢谢!Android Studio 4.1仍然存在这个“错误”。
<!-- Permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
...

<application
    android:name="...Application"
    android:allowBackup="false"
    android:allowTaskReparenting="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/application"
    android:largeHeap="true"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:theme="@style/Theme.MyTheme"
    tools:replace="android:icon,theme,label,allowBackup">

<uses-library android:name="com.google.android.maps" />

    <activity
        android:name="...SplashActivity"
        android:label="@string/application"
        android:theme="@style/Theme.Splash">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

...


</application>
buildscript {
ext.kotlinVersion = '1.2.10'
repositories {
    jcenter()
    google()
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    classpath 'com.google.gms:google-services:3.1.0'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
}
}

allprojects {
ext {
    androidApplicationId = 'myapp.android'
    androidVersionCode = 1
    androidVersionName = "1.0"
    testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
}

repositories {
    maven { url "https://maven.google.com" }
}
}