Gradle: Не вдалося виконати завдання ": processDebugManifest"


142

У мене вчора виникає помилка студії в будівництві - це просто з’явилося випадковим чином….

Повний стек-трек тут:

Мій проект залежить від декількох бібліотек, і він побудований без проблем до вчорашнього дня (навіть з бібліотеками)

compile 'com.google.android.gms:play-services:3.1.36'
compile 'com.android.support:support-v4:13.0.0'
compile project(":libs:DatabaseCreationHelper")
compile project(":libs:actionbarsherlock")

У когось є ідея, як це виправити? це просто випадковим чином прийшло ... Повний стек тут:

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':ItchyFeet:processDebugManifest'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter$1.run(CacheLockReleasingTaskExecuter.java:35)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:179)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:232)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142)
at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83)
at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter.execute(CacheLockReleasingTaskExecuter.java:33)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.ContextualisingTaskExecuter.execute(ContextualisingTaskExecuter.java:34)
at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter$1.run(CacheLockAcquiringTaskExecuter.java:39)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134)
at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter.execute(CacheLockAcquiringTaskExecuter.java:37)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:282)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.executeTask(DefaultTaskPlanExecutor.java:48)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.processTask(DefaultTaskPlanExecutor.java:34)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:27)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:89)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134)
at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:48)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.Main.main(Main.java:39)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
at org.gradle.launcher.GradleMain.main(GradleMain.java:26)
Caused by: java.lang.RuntimeException: Manifest merging failed. See console for more info.
at com.android.builder.AndroidBuilder.doMerge(AndroidBuilder.java:475)
at com.android.builder.AndroidBuilder.mergeLibraryManifests(AndroidBuilder.java:461)
at com.android.builder.AndroidBuilder.processManifest(AndroidBuilder.java:301)
at com.android.builder.AndroidBuilder$processManifest.call(Unknown Source)
at com.android.build.gradle.tasks.ProcessAppManifest.doFullTaskAction(ProcessAppManifest.groovy:65)
at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.groovy:71)
at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:216)
at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:122)
at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
at com.android.build.gradle.tasks.ProcessAppManifest_Decorated.invokeMethod(Unknown Source)
at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:217)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:199)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:526)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:509)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 67 more

Відповіді:


133

Знайшов рішення цієї проблеми:

gradle assemble -info дав мені підказку, що Маніфести мають різні версії SDK і їх неможливо об'єднати.

Мені потрібно було відредагувати свій файл Manifests і build.gradle, і все працювало заново.


Щоб зрозуміти, вам потрібно відредагувати uses-sdkв AndroidManifest.xml

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />

і androidрозділ, в зокрема , minSdkVersionі targetSdkVersionв build.gradle файлі

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }
}

1
Переконайтесь, що ви відредагували файл gradle.build у корпусі Android Studio. Значення на AndroidManifest.xml перевизначаються під час збирання!
— Дієго Акоста

@Nakardo зміна значень в build.gradleне змінює значення на моєму AndroidManifest.xmlпід час виконанняgradle assemble
— Nimrod Dayan

1
@Nakardo The build.gradle sdkVersionзавжди перевершує AndroidManifest.xmlцитату документів для Android: Це значення minSdkVersion не використовується; воно завжди переосмислюється значенням, вказаним у сценарії збірки Gradle. Значення (наприклад) minSdkVersion використовується лише у тому випадку, якщо воно не вказане в сценаріях build.gradle build. Якщо вказано в сценаріях побудови Gradle, значення маніфесту ігнорується і може вводити в оману, тому його слід видалити, щоб уникнути неоднозначності.
— Чад Бінгем

@ Лукас Олсен пляма про рішення. Моя версія minsdk була 19, але в gradle вона була 10, все ще не потрібна для targetSDK в build.gradle, хоча її заявлено в маніфесті. Цікаво, що я щойно оновив свою андроїд-студію до 2.1.1 і вона працювала раніше. Проблема виправлена ​​зараз.
— natur3

У подальшому помилка повернулася насправді тому, що у мене був дубльований тег метаданих, який тягнув ідентифікатор програми з strings.xml для використання з розбором. Немає помилок, пов'язаних з розбором, але ці метадані спричинили збій, я фактично не бачив цієї деталі помилки, поки я не відкрив вкладку консолі gradle в android studio v. 2.1.1
— natur3

126

Загалом, щоб побачити, що таке помилка, ви можете побачити об'єднаний файл Manifest в студії Android

Перейдіть до файлу маніфесту

введіть тут опис зображення

Клацніть на нижній вкладці "Об'єднаний маніфест"

введіть тут опис зображення

На правому екрані, в розділі "Інші файли маніфесту", перевірте наявність помилок через градацію:

введіть тут опис зображення


Ти врятував мій день
— Абхішек Пачал

34

Я б хотів, щоб рішення Лукаса Олсена працювало за іншими сценаріями, але в моєму випадку зовсім інше.

Я зіткнувся з тим же, додаючи ActionBarShelock до проекту, порівнявши зі старішою бібліотекою, я виявив, що тег програми відсутній у маніфесті. Додавши один рядок, я вирішив свою проблему.

</application>

Спочатку це було для версій SDK, але тепер це через <application />відсутність. Ти врятував мене, THX.
— Бенджамін Туег

Це був і мій випадок!
— цезард

@Ahmad Ali Nasir, але в моєму випадку я слідую за Лукашем Олсеном, але жодна зміна не може допомогти мені брато
— Manoj

@Manoj впевнено, але будь ласка, поділіться своїм сценарієм build.grade та журналом помилок, тому ми всі зможемо краще зрозуміти, що ви можете робити неправильно.
— Ахмад Алі Насір

@Ahmad Ali Nasir впевнений брато, що я опублікував тут питання, є багато про це stackoverflow.com/questions/27266042/…
— Manoj

17

Схоже, це відбувається тому, що для Служб Google Play потрібен Android 2.2, що є версією SDK 8.

У цьому build.gradleпереконайтесь, що ваш minSdkVersion принаймні 8. Здається, за замовчуванням є 7. Тож у вас є щось подібне:

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 16
    }
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
    compile 'com.google.android.gms:play-services:3.1.36'
}

Це вирішило мою проблему Manifest, але тепер я отримую Gradle: error: не можу знайти символ для жодної з моїх змінних символів. Це сталося зі мною колись, коли у мене була помилка компіляції та виправлена. Я почав отримувати ці питання. Будь-яка підказка, як це виправити?
— День

Виправлено це, схоже, Gradle додав імпорт android.R до моєї основної діяльності. Я видалив рядок і зараз все добре.
— День

14

Я вирішив, помістивши цей один рядок у тег програми ...

інструменти: node = "замінити"


Це вирішило мою проблему. Дякую! Мені довелося додати його під applicationтегом уAndroidManifest.xml
— Reaz Murshed

Це вирішило мою проблему після 30 хвилин пошуку
— програміст програми демонів

Для мене це говорить, що префікс "tools" для атрибута "tools: node", пов'язаний з типом елемента "application", не пов'язаний.
— Amritesh Anand

не працював для мене, виникла помилка: Префікс "інструменти" для атрибута "інструменти: вузол", пов'язаний з елементом типу "додаток", не пов'язаний.
— Капіль соні

11

Я також зіткнувся з цією помилкою, коли додавав у моєму додатку сповіщення про firebase. але в моєму випадку я робив дуже дурну помилку, яку я помітив через деякий час. Я декларував код нижче в маніфесті два рази. Після видалення дубліката декларації. моє питання вирішено.

        <service   android:name="com.evampsaanga.mytelenor.firebase.MyFirebaseInstanceIDService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
        </intent-filter>
    </service>`

тож ви також перевіряєте, чи є що-небудь повторюване у вашому файлі маніфесту програми.


Найкраща відповідь .. !!
— RUTURAJ Raval

5

Можливо, це через дублювання декларації про активність у вашому маніфесті.


5

Якщо ви додасте такі залежності, як ActionBarSherlock від Gradle,
ретельно встановіть targetSdkVersion 17 або вище.

Нижче цитата - це --infoжурнали, коли ActionBarSherlock невідповідний приватному проекту.

[C: \ Me \ Documents \ GitHub \ project \ AndroidManifest.xml: 3, C: \ Me \ Documents \ GitHub \ project \ build \ exploded-bundles \ ComActionbarsherherlockActionbarsherlock440.aar \ AndroidManifest.xml: 2] Головний маніфест має, але бібліотеку використовує targetSdkVersion = '17 '
: testApp: processDebugManifest FAILED

Краще, щоб власний проект підтримувався targetSdkVersionякомога новішим.


Дякую за те --info, що я застряг і мені вдалося дістатися до проблеми бігом ./gradlew assemble --info. У моєму випадку я оголосив gles версії 2 на своєму головному маніфесті, але не брав участь у проекті бібліотеки. Якщо ви не заявляєте про це, він за замовчуванням застосовується до версії 1, і це було причиною помилки (несумісності).
— Оргмір

4

Я зіткнувся з тією ж проблемою, і те, що я зробив, щоб її виправити, було додати

tools:replace="android:icon"

для елемента на AndroidManifest, щоб перекрити


4

Це може бути дублікат дозволу, доданий у файл маніфесту. У моєму випадку "використання-дозволу android: name =" android.permission.READ_PHONE_STATE "було повторено.


3

Що я бачу, якщо у вас є багатомодульний проект з Android Studio і gradle, IDE намагається об'єднати файли маніфестів з кожного модуля в маніфест Main.

Якщо у вас є модуль A і модуль B, а в маніфесті A ви декларуєте деяку активність від модуля B, gradle пов'язує проблему при об'єднанні.

Спробуйте видалити посилання міжгалузевих файлів у файлах маніфесту.


я просто хочу запустити тестові випадки, я використовую андроїд-студію, в якій у мене було декілька проектів A&B із спільною бібліотекою для обох, вона не запускається, викликає помилку dexdebugTest після "Лукаса Олсена", але жодна зміна не може мені допомогти
— Manoj

@ Paolo M я просто хочу запустити тестові випадки, я використовую андроїд-студію, в якій у мене було декілька проектів A&B із спільною бібліотекою для обох, вона не запускається, викликає помилку dexdebugTest за "Лукашем Олсеном", але жодна зміна не може мені допомогти
— Маной

3

У моєму випадку

Я визначаю активність двічі у файлі маніфесту

 <application
  android:allowBackup="false"
  android:label="@string/app_name"
  >


      <activity
        android:name="com.xxx.ActivityOne"
        android:configChanges="orientation|screenSize"
        android:windowSoftInputMode="stateHidden|adjustResize" />

      //Problem here.. same activity twice define

      <activity
        android:name="com.xxx.ActivityOne"
        android:configChanges="orientation|screenSize"
        android:windowSoftInputMode="stateHidden|adjustResize" />

     </application>

Після видалення дублікат вирішено.


Отже, суть у тому, що <застосування> <активність> має бути визначено один раз у межах одного тегу <manifest>
— Мухаммед тайяб

@muhammadtayyab ні. Я двічі визначав ту саму діяльність. ось проблема. Ви можете визначити n число <активність>
— Ранджіт Кумар

2

У мене була така ж проблема, і жодна з інших відповідей не допомогла.

У моєму випадку винуватець коментаря до файлу маніфесту:

<manifest [...]
    android:installLocation="auto">
    <!-- change installLocation back to external after test -->

    <uses-sdk [...]

(Це може бути помилка, бачачи, як коментарі в інших областях маніфесту не викликають проблем.)


2

Я зіткнувся з подібною проблемою, коли бігав

cordova build android

які повідомляють про помилки:

 /home/app/phonegap/helloworld/platforms/android/AndroidManifest.xml:15:5 Error:
uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared in library  /home/app/phonegap/helloworld/platforms/android/build/intermediates/exploded-aar/android/CordovaLib/unspecified/debug/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="org.apache.cordova" to force usage

: processDebugManifest ЗНАТИ

Збій: збій не вдався за винятком

  • Що пішло не так: Виконання не вдалося виконати для завдання ': processDebugManifest'.

    Помилка злиття маніфесту: use-sdk: minSdkVersion 7 не може бути меншою, ніж версія 10, оголошена у бібліотеці / домашній / додаток / фонегап / helloworld / платформи / android / build / intermediates / exploded-aar / android / CordovaLib / unspecified / debug / AndroidManifest. Програма xml: використовуйте інструменти: overrideLibrary = "org.apache.cordova", щоб примусити використання

У моєму випадку

uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared

, вище рішення не працюють! але я вирішую їх заміною

<preference name="android-minSdkVersion" value="7" />

як

<preference name="android-minSdkVersion" value="10" />

у цьому двох файлах /home/app/phonegap/helloworld/config.xml,/home/app/phonegap/helloworld/platforms/android/res/xml/config.xml


2

2 речі, які потрібно додати до AndroidManifest.xml:

1-й: додайте xmlns: tools = "http://schemas.android.com/tools" у тег маніфесту

<manifest xmlns:android=".........
   package="...........
   xmlns:tools="http://schemas.android.com/tools">

2-й: Додайте інструменти: substitu = = "icon" до тегу програми

<application
       android:icon=.........
       android:label=.......
       tools:replace="icon">

1

Спробуйте змінити:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
...
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />

До:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
...
<uses-sdk xmlns:tools="http://schemas.android.com/tools"
    android:minSdkVersion="14" android:targetSdkVersion="16" />

1

якщо ви використовуєте android studio, вам слід запустити android studio через командний рядок (в windows) або термінал (в базовій ОС UNIX), щоб ви могли детальніше ознайомитися з цією помилкою у вікні командного рядка.


Ви можете вказати будь-який параметр командного рядка gradle в діалоговому вікні «Налаштування Gradle», який відкриється натисканням останньої кнопки на вкладці Gradle в IDE, тому реально не потрібно вдаватися до командного рядка. Однак кількість лайна, яке ми маємо змиритися з використанням цього інструменту збирання, насправді неймовірна.
— Джуліо Піанкастеллі

1

Під час спроби оновити міський дирижабль до останньої версії знайшов інше можливе рішення. У моєму файлі build.gradle верхнього рівня код виглядав так:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

за замовчуванням як створено Android Studio. Я змінив це на більш пізню версію gradle, замінивши цю на:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.13.+'
    }
}

А після цього проект будуватиметься.


Щось подібне було і моєю проблемою! У мене були сховища {mavenCentral ()} у build.gradle, видалення цього вирішило проблему.
— Девід

1

У моєму випадку це було через те, що дозвіл на дублікат у моєму файлі Manifest та minSDKVersion бібліотеки був більшим, ніж minSDKVersion мого проекту. Я щойно зробив цей minSDKVersion рівним і склав із успіхом.


1

Цю проблему піднімають через compileSdkVersion 26 buildToolsVersion "26.0.0" або компілювати 'com.android.support:appcompat-v7:26.+'

замість цього використовуйте compileSdkVersion 25 buildToolsVersion "25.0.3" компілюйте 'com.android.support:appcompat-v7:25.+'


1

У моєму випадку я писав тег двічі. Це була моя єдина помилка. Це було раніше коду "

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <uses-permission android:name="android.permission.RECORD_AUDIO"/>


<application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:networkSecurityConfig="@xml/react_native_config" />




<application application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:networkSecurityConfig="@xml/react_native_config" >

</application>

`

Просто видалення тегу програми вирішило мою проблему.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>



    <application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:networkSecurityConfig="@xml/react_native_config" />



</manifest>

Точки, у яких ви повинні мати лише один тег; може мати більше ніж один, але один тег. Це я знаю в цей момент :)


1

Можливо, у вас є кілька повторених заходів

Подобається це:

<activity android:name=".register.RegisterStepsActivity" />

....

<activity android:name=".register.RegisterStepsActivity" />

просто прокоментуйте одну з них


1

Ця помилка може бути через атрибут, залишений порожнім у файлі маніфесту.

Приклад:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:logo="@drawable/ic_actionbar"
    android:supportsRtl="true"
    android:fullBackupContent="">
...
</application>

У fullBackupContentнаведеному вище прикладі порожній порожній.

Коли це буде змінено, android:fullBackupContent="true"це буде виправлено.


1

Просто додайте ці два рядки в "gradle.properties":

android.useAndroidX=true
android.enableJetifier=true

2
це не може бути, у мене вже були ці рядки, gradle.propertiesі я не почав отримувати цю помилку, поки не спробував запустити її в середовищі ОС Windows.
— Даніель

0

У мене були ці помилки, оскільки у мене не була встановлена ​​необхідна версія SDK. Після завантаження та встановлення версії SDK, присутньої у файлі build.gradle / Android Manifest, це було вирішено.


0

Я зустрів проблему з іншої причини.

Я будував додаток в Android Studio, і у мене був модуль додатків та ще один модуль. Модуль додатка залежав від іншого модуля.

Але частиною build.gradleмодуля програми є:

<application
    android:allowBackup="false"
    android:label="@string/app_name"
    android:supportsRtl="true">

    ...

</application>

а build.gradleчастина іншого модуля :

<application
    android:allowBackup="true"
    android:label="Android Lua"
    android:supportsRtl="true">

</application>

Отже, я змінюю build.gradleчастину модуля на:

<application
    android:allowBackup="false"
    android:label="@string/app_name"
    android:supportsRtl="true">

</application>

Проблема вирішена.



0

У моєму випадку я мав у файлі маніфесту недійсну структуру тегів, у мене була відкрита активність, але всередині нього, де знаходились руди, activities (...)які виявляють неправомірність коректності файлу, виявляючи, що це зайняло досить дві години, помилка повідомила про відсутність / невідомість <activity>.


0
compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.1'

Якщо це залежність, яку ви додали, то змініть її на:

compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.4'

і переконайтеся, що target sdkне менше 15 .


0

Я вирішив цю проблему в Android Studio 3.5 шляхом очищення та відновлення проекту.

Просто натисніть на Створити -> Відновити проект.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.