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.