在清单中,很少使用intent-filter,但是我删除了所有的intent过滤器,但不包括laucher,但仍然有两个图标。还有其他两个图标的原因吗?
我正在编辑这篇文章,还添加了我的应用程序build.gradle以及项目build.gradle
这是我的清单
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.flash"
android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<application
android:allowBackup="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:icon">
<activity
android:name=".activity.SplashActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize|stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.user.LoginUserActivity"
android:windowSoftInputMode="adjustResize|stateHidden" />
</application>
答案 0 :(得分:1)
我通过此链接解决了这个问题
Android, icon been duplicate when i install my app on the device
我去了/build/intermediates/manifests/debug/AndroidManifest.xml这个路径,发现有两个启动器。
答案 1 :(得分:0)
清单中使用的是两个图标,例如icon和roundIcon。因此,您可能会使用两个图标。
public class RequiredWhenPutAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (HttpContext.Current.Request.HttpMethod == "PUT")
{
var obj = (ParentDto)validationContext.ObjectInstance;
if (obj.Id == null)
{
return new ValidationResult(ErrorMessage);
}
}
else
{
return ValidationResult.Success;
}
}
}
public class ParentDto
{
[RequiredWhenPut(ErrorMessage = "Id is required")]
public int? Id { get; set; }
}
public class UserDTO : ParentDto
{
// properties
}
public class ProjectTypeDTO : ParentDto
{
// properties
}
public class ProjectDTO : ParentDto
{
// properties
}
尝试删除任何一个。
答案 2 :(得分:0)
1)如果图标有问题
可能性1
检查所有可绘制(mdpi,xdpi,xxhdpi,xxxhdpi等...)文件夹中图标相同或不同的名称
可能性2
如果使用任何库或模块,请将该图标的名称从app_name更改为其他任何名称。
2)如果启动器有问题
如果是启动器问题,请从您的设备上卸载所有应用程序。确保清单中只有一个启动器活动,然后再次运行。
答案 3 :(得分:0)
应用清单中有两个图标,请参见:
<application
android:allowBackup="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:largeHeap="true"
android:roundIcon="@drawable/app_icon"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:icon">
尝试删除roundIcon
。希望这会起作用。如果它不起作用,请使用以下命令替换tools:replace="android:icon"
:tools:replace="icon"
但是不要忘了像这样声明清单标题
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yourpackage"
xmlns:tools="http://schemas.android.com/tools">