#java #android #build.gradle
#java #Android #build.gradle
Вопрос:
Мой код компилировался раньше, но перестал работать и выдает эту ошибку
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs
журнал
исключение java.lang.RuntimeException: имя действия не может быть пустым. в com.android.tools.idea.model.MergedManifest $ActivityAttributes .(MergedManifest.java:579) на com.android.tools.idea.model.MergedManifest.syncWithReadPermission(MergedManifest.java:418) в com.android.tools.idea.model.MergedManifest.access $ 000 (MergedManifest.java:55) на com.android.tools.idea.model.MergedManifest $ 1.выполнить (MergedManifest.java:331) на com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:945) на com.android.tools.idea.model.MergedManifest.sync(MergedManifest.java:328) на com.android.tools.idea.model.MergedManifest.getActivities(MergedManifest.java:464) в com.android.tools.idea.run.activity.DefaultActivityLocator.lambda $computeDefaultActivity $97 (DefaultActivityLocator.java:78) в com.intellij.openapi.project.DumbService $ 1.run(DumbService.java:89)
мой манифест
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:header=".MyApplication"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:header=".ui.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:header="android.intent.action.MAIN" />
<category android:header="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:header=".ui.ResponseActivity"
android:label="@string/title_item_detail"
android:parentActivityName=".ui.MainActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:header="android.support.PARENT_ACTIVITY"
android:value=".ui.MainActivity" />
</activity>
</application>
что может быть причиной этого?
Ответ №1:
Используйте это для своего основного действия, потому name
что поле требуется для идентификации действия, а не header
для замены каждого header
на name
поле
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
вместо этого
<intent-filter>
<action android:header="android.intent.action.MAIN" />
<category android:header="android.intent.category.LAUNCHER" />
</intent-filter>
Так что это будет
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
и сделайте то же самое для других действий
Ответ №2:
Вы должны записать android:name=".ui.activityName"
в свой тег activity файла манифеста для каждого действия.
Надеюсь, это поможет!